71 votes

Exécution de SQL script à partir de la ligne de commande

Je dois modifier une base de données à l'aide d'un fichier batch, pour un exemple simple, supprimer une table. J'utilise SQL Express local (SQL Server 2008 R2) avec l'utilisateur sa et son mot de passe.

Comment serait le fichier bat ?

Comment puis-je spécifier dans le script le mot de passe et que j'utilise dans SQL Express ?

70voto

rsbarro Points 12575

Jetez un coup d'œil à la sqlcmd utilitaire. Il vous permet d'exécuter SQL à partir de la ligne de commande.

http://msdn.microsoft.com/en-us/library/ms162773.aspx

Tout est indiqué dans la documentation, mais la syntaxe devrait ressembler à ceci :

sqlcmd -U myLogin -P myPassword -S MyServerName -d MyDatabaseName 
    -Q "DROP TABLE MyTable"

56voto

Rahul Points 17363

Vous pouvez faire comme ceci

sqlcmd -S <server Name> -U sa -P sapassword -i inputquery_file_name -o outputfile_name

Depuis votre invite de commande, exécutez sqlcmd /? pour obtenir toutes les options que vous pouvez utiliser avec sqlcmd utilitaire

0 votes

Fournir un nom de fichier contenant toutes mes requêtes SQL est beaucoup plus pratique que de fournir les requêtes SQL comme arguments de ligne de commande.

35voto

Maxime Points 454

Si vous utilisez Sécurité intégrée vous voudrez peut-être savoir qu'il vous suffit d'utiliser -E comme ça :

sqlcmd -S Serverinstance -E -i import_file.sql

0 votes

J'ai exécuté, sqlcmd -i filename.sql et il s'est connecté au serveur sql local avec un login intégré et a exécuté script... donc il semble qu'il ait des valeurs par défaut

7voto

Hiren Patel Points 509

Si vous voulez exécuter le fichier script alors utilisez ce qui suit dans cmd

sqlcmd -U user -P pass  -S servername -d databasename -i "G:\Hiren\Lab_Prodution.sql"

2voto

Feedback Les gars, d'abord créer la base de données exemple live ; avant d'exécuter le fichier sql ci-dessous.

sqlcmd -U SA -P yourPassword -S YourHost -d live -i live.sql

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X