Voici comment je le fais. Commencez par créer le script SQL de votre choix et stockez-le sous la forme d'un fichier texte simple.
Ensuite, utilisez SQLCMD (ou OSQL ou périr la pensée, ISQL) pour appeler ce fichier, quelque chose comme ceci:
SQLCMD -S %1 -E -b -h-1 -I -d tempdb -i BulkDeploy.txt > BulkDeploy_%DateString%.txt
Où:
- S spécifie le serveur d'instance SQL (ici, spécifié avec le premier paramètre batch)
- E utiliser l'authentification NT
- b si le SQL rencontre une erreur, renvoyer une valeur que le lot ERRORLEVEL peut détecter et traiter
- h-1 ne retourne aucune ligne d'en-tête (IF ensembles de données sont retournés)
- Je mis quoted_identifier (ce qui a fait exploser au visage une fois, j'oublie comment ou pourquoi, et je l'ai inclus depuis)
- base de données pour se connecter à d
- i exécuter le script suivant et la sortie lorsqu'elles sont effectuées
- > dirige toute sortie dans le fichier spécifié pour un traitement ultérieur
SQLCMD et. Al. avoir de nombreux paramètres, consultez-les dans la documentation en ligne. D'autres subtilités peuvent être obtenues avec des paramètres de lot.
Avez-vous recherché osql dans, disons, Google? – gbn