J'essaie d'accéder au serveur "localdb\MSSQLLocalDB" sur mon ordinateur via PowerShell avec l'utilitaire SQLCMD. J'utilise PowerShell v5, .NET v5.0 et le nom du serveur est (localdb)\MSSQLLocalDB
lorsque je m'y connecte dans Microsoft SQL Server Management Studio 2014.
PS C:\> sqlcmd -S localdb\MSSQLLocalDB
et PS C:\> sqlcmd -S .\localdb\MSSQLLocalDB
entraîne cette erreur:
Sqlcmd: erreur: Microsoft ODBC pilote 11 pour SQL Server: interfaces réseau SQL Server: erreur de localisation du serveur/de l'instance spécifiée [xFFFFFFFF].
J'ai demandé le nom du serveur dans Management Studio avec SELECT @@ServerName
et utilisé cela après le -S
dans la commande ci-dessus et a obtenu la même erreur.
PS C:\> sqlcmd -S localdb
donne cette erreur:
Sqlcmd: erreur: Microsoft ODBC pilote 11 pour SQL Server: fournisseur de canaux nommés: impossible d'ouvrir une connexion à SQL Server [53]
Autres notes: je peux me connecter au serveur et travailler avec une base de données nommée testdb01 dans une application console C # en utilisant System.Data.SqlClient
avec cette chaîne de connexion:
"Data Source=(localdb)\\mssqllocaldb;Initial Catalog=testdb01;Integrated Security=SSPI;"
La casse du nom d'instance n'a pas d'importance.
Vous devez essayer:
sqlcmd -S "(localdb)\MSSQLLocalDB" -d testdb01
La partie "localdb" doit être placée entre parenthèses car il s'agit d'une syntaxe spéciale qui pointe vers une API spécifique à SQL Server Express LocalDB qui permet le démarrage automatique de l'instance lors du référencement dans une chaîne de connexion. Le nom complet de l'instance doit être placé entre guillemets doubles. La ligne de commande ci-dessus fonctionne pour moi, au moins en dehors de PowerShell.