2011-07-18 36 views
37

Necesito modificar una base de datos usando un archivo por lotes, para un ejemplo simple, soltar una tabla. Estoy usando SQL Express local (SQL Server 2008 R2) con el usuario sa y su contraseña.Ejecutar script SQL desde la línea de comando

¿Cómo sería el archivo bat?

¿Cómo puedo especificar en el script la contraseña y la uso en SQL Express?

Respuesta

43

Eche un vistazo a la utilidad sqlcmd. Le permite ejecutar SQL desde la línea de comando.

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

Está todo ahí en la documentación, pero la sintaxis debe ser algo como esto:

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

Usted puede hacer como esto

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

Desde el símbolo del sistema de ejecución sqlcmd /? para obtener todas las opciones que puede usar con la utilidad sqlcmd

+0

proporcionar un nombre de archivo que contiene todas mis consultas SQL es mucho más útil que proporcionar la consulta SQL como argumentos de línea de comandos. – RBT

14

Si utiliza seguridad integrada, es posible que desee saber que sólo hay que utilizar -E así:

sqlcmd -S Serverinstance -E -i import_file.sql 
Cuestiones relacionadas