Obtention de l'erreur de connexion lors de l'utilisation: commande de connexion à sqlcmd, mais pas lorsque vous faites la ligne de commande connecter
-
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
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!