Obtention de l'erreur de connexion lors de l'utilisation: commande de connexion à sqlcmd, mais pas lorsque vous faites la ligne de commande connecter

StackOverflow https://stackoverflow.com/questions/1917124

  •  20-09-2019
  •  | 
  •  

Question

Je viens juste de commencer avec sqlcmd sur SQL Server 2005, édition d'entreprise.

Je peux me connecter à mon beau serveur, depuis la ligne de commande:

sqlcmd -SSQLSERVERNAME -Q "test select = 1"

Cependant, lorsque je crée un fichier junk.sql qui a juste cette ligne:

: se connecter -SSQLSERVERNAME

... et essayer de l'exécuter en exécutant la commande suivante à la ligne de commande:

sqlcmd -i C: \ indésirable \ junk.sql

... Je ne peux même pas se connecter - je reçois cette erreur:

Fournisseur de canaux nommés: Impossible d'ouvrir une connexion à SQL Server [2]. Sqlcmd: Erreur: Microsoft SQL Native Client: Une erreur est survenue lors de l'établissement d'une connexion au serveur. Lorsque c onnexion à SQL Server 2005, cet échec peut être causé par le fait que les paramètres par défaut SQL Server ne  autoriser les connexions à distance .. Sqlcmd: Erreur: Microsoft SQL Native Client: Délai de connexion expiré

.

D'après ce que je lis, je pensais que l'utilisation de la commande de connexion devrait fonctionner. Suis-je juste à l'utiliser de façon incorrecte? Ce que je voudrais faire est de se connecter dans le fichier SQL en utilisant la commande de connexion (éventuellement en utilisant des variables pour les différents serveurs), puis exécutez différents fichiers SQL en utilisant la commande: r

Pensées?

merci, Sylvia

Était-ce utile?

La solution

La commande :connect n'a pas besoin de l'interrupteur S, il suffit d'utiliser

:connect "SQLSERVERNAME"

Autres conseils

Bon - je faisais 2 choses mal:

** Il semble que lorsque vous exécutez sqlcmd, vous devez connecterez à quelque chose de l'obtenir-aller. Je pensais que je pouvais faire ceci:

sqlcmd -i C: \ indésirable \ junk.sql

mais je devais le faire

sqlcmd -i -SServerName C: \ indésirable \ junk.sql

Je n'ai pas eu une instance locale par défaut en cours d'exécution - sans doute si vous avez une instance locale par défaut en cours d'exécution, il n'y a pas un problème

.

** Ensuite, dans le junk.sql, vous pouvez effectuer les opérations suivantes

: se connecter ServerName

Notez qu'il est pas

: se connecter -SServerName

Hope this helps!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top