login SQL Server à l'aide d'OSQL.exe

À partir de Visual Studio 2010, je peux me connecter à mon instance SQL Server Express 2005 en spécifiant l'authentification Windows. Cependant, quand j'utilise une command comme ça ne marche pas:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>osql -S SQLEXPRESS -U Quixote nt -P Password.0 [SQL Native Client]Named Pipes Provider: Could not open a connection to SQL Server [53]. [SQL Native Client]Login timeout expired [SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. 

Incidemment, ce qui précède ne list pas réellement mon nom et mot de passe Windows – je viens de substituer des exemples. Qu'est-ce que je fais mal?

Vous ne pouvez pas utiliser -U et -P si vous voulez vous connecter avec l'authentification Windows. C'est pour l'authentification SQL. Utilisez -E à la place:

 osql -S SQLEXPRESS -E 

SQL Server 2005 fournit plusieurs protocoles réseau (tels que la memory partagée, TCP / IP, les canaux nommés, etc.) (http://msdn.microsoft.com/en-us/library/ms187892(v=sql.90).aspx)

Peut-être que vous avez seulement la memory partagée activée (que votre VS utilise), et la command line a besoin d'un tuyau nommé ou TCP / IP pour se connecter.

Alors, essayez d'activer les autres protocoles, via le Gestionnaire de configuration SQL Server, comme décrit ici:

http://support.microsoft.com/kb/914277/fr