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

10

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 -EI get:

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'..
TheAkhemist
la source

Réponses:

23

SQLCMD, lorsqu'il est appelé sans spécifier de nom de serveur, tente 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 -Sparamètre pour spécifier un nom de serveur.

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

Pour utiliser l'authentification SQL Server, utilisez les paramètres -Uet -Ppour fournir les informations d'identification.
Exemple: SQLCMD -Smyserver\myinstance -UsomeUser -PhisPassword

Si vous spécifiez que -Uvous 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. Type runas /USER:domain\username cmd
  3. Tapez le mot de passe de votre utilisateur
  4. Courir 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 ..."

spaghettidba
la source
Cela m'a sauvé une longue nuit à parcourir Internet. Je vous remercie!
Rhys Johns
J'ai passé des âges à essayer de résoudre ce problème. Je vous remercie!
Joel Murphy