Je viens d'installer SQL Server 2008 Developer Edition et j'essaie de me connecter à l'aide de SQLCMD.exe, mais le message d'erreur suivant s'affiche:
H:\>sqlcmd.exe -S ".\SQL2008"
Msg 18452, Level 14, State 1, Server DEVBOX\SQL2008, Line 1
Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.
L'instance SQL Server est configurée pour utiliser le mode d'authentification SQL Server et Windows. Si je spécifie -U sa, je peux me connecter avec succès, mais j'aimerais utiliser l'authentification Windows. La connexion à l'aide de SSMS avec l'authentification Windows semble fonctionner correctement.
J'ai eu ce problème et c'est parce que la machine qui exécute l'application n'est pas approuvée pour la délégation sur le domaine par Active Directory. S'il s'agit d'une application .net s'exécutant sous une identité de pool d'applications, par exemple, DOMAIN_application.environment, l'identité ne peut pas appeler SQL, sauf si la machine est approuvée.
Vous ne transmettez aucune information d'identification à sqlcmd.exe
Donc, il essaie de vous authentifier en utilisant les informations d'identification de connexion Windows, mais vous ne devez pas avoir votre configuration SQL Server pour accepter ces informations d'identification ...
Lors de l’installation, vous auriez dû fournir un mot de passe d’administrateur de serveur (pour le compte sa
).
Essayer...
sqlcmd.exe -U sa -P YOUR_PASSWORD -S ".\SQL2008"
pour référence, theres plus de détails ici ...
Dans mon cas, cette erreur a été causée par le changement de nom de mon ordinateur client. J'ai utilisé un nouveau nom de plus de 13 caractères (malgré l'avertissement), ce qui a entraîné la troncature du nom NETBIOS et la différence avec le nom complet de l'ordinateur. Une fois que j'ai renommé le client en un nom plus court, l'erreur a disparu.
Juste essayé ceci:
H:> "C:\Programmes\Microsoft SQL Server\90\Outils\Binn\sqlcmd.exe" -S ".\SQL2008" 1>
et cela fonctionne .. (J'ai le répertoire Microsoft SQL Server\100\Tools\Binn dans mon chemin).
Vous ne savez toujours pas pourquoi la version SQL Server 2008 de SQLCMD ne fonctionne pas?.
Votre erreur est littéralement de dire "vous essayez d'utiliser l'authentification Windows, mais votre connexion ne provient pas d'un domaine approuvé". Ce qui est étrange, car vous vous connectez à la machine locale.
Peut-être que vous êtes connecté à Windows en utilisant un compte local plutôt qu'un compte de domaine? Vérifiez que vous vous connectez avec un compte de domaine qui est également un principal SQL Server sur votre instance SQL2008.
J'avais aussi cette erreur, bien que mon problème était que je continuais à basculer entre deux réseaux d'entreprise via ma machine virtuelle, avec des informations d'identification différentes. Je devais exécuter l'invite de commande:
ipconfig /renew
Après cela, mes problèmes de réseau ont été résolus et je pouvais me reconnecter à SQL.
Spécifiez-vous un nom d'utilisateur et un mot de passe pour vous connecter? Quelle est exactement votre ligne de commande complète?
Si vous utilisez votre propre ordinateur, vous pouvez spécifier un nom d'utilisateur/mot de passe ou utiliser le paramètre -E
pour vous connecter avec vos informations d'identification Windows (si celles-ci sont autorisées dans votre installation de serveur SQL).
Marc
Je viens de trouver ce fil et de poster une réponse alternative (copie ci-dessous) ici: https://stackoverflow.com/a/37853766/1948625
Plus précisément sur cette question, si le point ".
" utilisé dans la valeur -S
de la ligne de commande a la même signification que 127.0.0.1
, il pourrait alors s'agir du même problème que la chaîne de connexion de l'autre question. Utilisez plutôt le nom d'hôte ou vérifiez votre fichier hôtes.
Vieille question, et mes symptômes sont légèrement différents, mais la même erreur. Ma chaîne de connexion était correcte (sécurité intégrée, et je ne fournis pas à l'utilisateur et pwd) avec data source
défini sur 127.0.0.1
. Cela a bien fonctionné pendant des années.
Mais récemment, j'ai ajouté une ligne dans le fichier hôte statique à des fins de test (C:\Windows\System32\drivers\etc\hosts
)
127.0.0.1 www.blablatestsite.com
En supprimant cette ligne et l'erreur est parti.
J'ai un indice de cet article ( https://support.Microsoft.com/en-gb/kb/896861 ) qui parle de noms d'hôte et de bouclage.
Une autre solution possible (si vous devez conserver cette ligne dans le fichier hosts) consiste à utiliser le nom d'hôte (tel que MYSERVER01
) au lieu de 127.0.0.1
dans le data source
de la chaîne de connexion.