web-dev-qa-db-fra.com

Impossible de faire fonctionner SQLCMD indépendamment de ce que j'essaie

Peu importe ce que je fais, je ne peux pas faire fonctionner SQLCMD. J'essaie d'exécuter un script de 200 Mo et plus et ne peut pas être exécuté à partir de l'application serveur SQL, je dois donc le faire via SQLCMD, mais chaque fois que j'essaie de me connecter ou d'exécuter le script, il se ferme immédiatement.

J'ai suivi l'utilitaire sqlcmd par msdn.

J'ai essayé de l'open via la commande de confiance SQLCMD -E J'obtiens:

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Named Pipes Provider: Could not open a connection to SQL Server [2]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

J'ai essayé via un serveur explicite, une déclaration de nom d'utilisateur et de mot de passe:

C:\Users\MyUserName\Documents>SQLCMD -S DESKTOP-1N3OD6V\SQLEXPRESS -U DESKTOP-1N3OD6V\MyUserName-P MyPassword
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login failed for user 'DESKTOP-1N3OD6V\MyUserName'..
10
TheAkhemist

SQLCMD, lorsqu'il est appelé sans spécifier de nom de serveur, essaie de se connecter à une instance par défaut sur la machine locale. Si vous n'en avez pas, il affiche la première erreur que vous obtenez. Utilisez le -S paramètre pour spécifier un nom de serveur.

Pour utiliser l'authentification Windows, utilisez le -E flag et vous n'avez pas besoin de fournir un nom d'utilisateur ou un mot de passe.
Exemple:SQLCMD -Smyserver\myinstance -E

Pour utiliser l'authentification SQL Server, utilisez le -U et -P paramètres pour fournir les informations d'identification.
Exemple:SQLCMD -Smyserver\myinstance -UsomeUser -PhisPassword

Si vous spécifiez -U vous ne pouvez pas utiliser un nom d'utilisateur Windows: c'est pour les connexions SQL Server. Si vous souhaitez emprunter l'identité d'un autre utilisateur Windows, démarrez d'abord une invite de commande empruntant l'identité de cet utilisateur.

Exemple:

  1. Ouvrir l'invite de commande
  2. Tapez runas /USER:domain\username cmd
  3. Tapez le mot de passe de votre utilisateur
  4. Exécutez SQLCMD

Vous pouvez obtenir le même résultat en cliquant avec le bouton droit sur le lien pour cmd et en sélectionnant "Exécuter en tant qu'utilisateur différent ..."

23
spaghettidba