You are on page 1of 3

SQL SERVER Sqlcmd: ejecutar sentencias T-SQL en SqlServer

desde la línea de comandos


http://www.nosoynadie.net/sqlcmd-ejecutar-sentencias-t-sql-en-sqlserver-desde-la-linea-de-comandos/

Puede haber veces que no podamos trabajar con un entorno gráfico para ejecutar consultas en un SQLServer,
que queramos ejecutar procesos por lotes (ficheros bat) con determinados procesos, o que, simplemente, nos
apetezca usar la consola. En esos casos tenemos sqlcmd, una utilidad en línea de comandos para ejecutar
sentencias T-SQL. Lo necesario para utilizar este herramienta es ver su ayuda:
?
Herramienta de l¡nea de comandos de Microsoft (R) SQL Server
1
Versi¢n 9.00.5000.00 NT INTEL X86
2
Copyright (c) Microsoft Corporation. Reservados todos los derechos.
3
4
Uso: Sqlcmd [-U Id. de inicio de sesi¢n] [-P contrasña]
5
[-S servidor] [-H nombre de host] [-E conexión de confianza]
6
[-d usar nombre de base de datos] [-l tiempo de espera de inicio de sesión] [-t tiempo de espera de
7
consulta]
8
[-h encabezados] [-s separador de columna] [-w ancho de pantalla]
9
[-a tama¤o de paquete] [-e entrada de eco] [-I habilitar identificadores entre comillas]
10
[-c fin de comando] [-L[c] listar servidores[salida limpia]]
11
[-q "consulta de línea de comandos"] [-Q "consulta de línea de comandos" y salir]
12
[-m nivel de error] [-V nivel de gravedad] [-W quitar espacios finales]
13
[-u salida Unicode] [-r[0|1] mensajes a stderr]
14
[-i archivo de entrada] [-o archivo de salida] [-z nueva contraseña]
15
[-f <p ginaDeC¢digos> | i:<p ginaDeC¢digos>[,o:<p ginaDeC¢digos>]] [-Z nueva contrase¤a y salir]
16
[-k[1|2] quitar[reemplazar] caracteres de control]
17
[-y ancho de pantalla de longitud variable]
18
[-Y ancho de pantalla de longitud fija]
19
[-p[1] imprimir estad¡sticas[formato dos puntos]]
20
[-R usar configuraci¢n regional de cliente]
21
[-b anular por lotes si hay errores]
22
[-v var = "valor"...] [-A conexi¢n de administrador dedicada]
23
[-X[1] deshabilitar comandos, secuencia de comandos de inicio, variables de entorno [y salir]]
24
[-? mostrar resumen de sintaxis]
Conexión con autenticación de Windows a la “instancia” del servidor “host”
?
1 sqlcmd -S host\instancia
Conexión con autenticación de Windows a la base de datos “BaseDeDatos” de la “instancia” del servidor “host”
?
1 sqlcmd -S host\instancia -d BaseDeDatos
Conexión con autenticación de SQLServer a la “instancia” del servidor “host” usando las credenciales usuario +
clave
?
1 sqlcmd -U usuario -P clave -S host\instancia
Una vez conectados lo único que debemos recordar es que para ejecutar sentencias T-SQL que escribamos
hemos de usar la sentencia GO. Veamos una ejemplo sencillo.
?
1 -- Conexión:
2 sqlcmd -S host\sqlexpress
3 -- Establecemos la base de datos:
4 use database;
5 go
6 -- Ejecutamos una consulta:
7 select * from tabla;
8 go
9 nombre apellido1 apellido2
10 ---------------------------------------------------------------------
11 Antonio Martinez Luzco
12 Mirella Abad Nothing
13
14 (2 filas afectadas)
Nos conectamos de nuevo y configuramos la conexión de modo que nos quite los espacios al final (opción -W),
fijando el separador de columas ( -s “|”) y nos conecte a la base de datos “BaseDeDatos”:
?
1 sqlcmd -S hos\instancia -d BaseDeDatos -s "|" -W
2 -- Ejecutamos una consulta:
3 select * from tabla;
4 go
5 nombre|apellido1|apellido2
6 ---------------------------------------------------------------------
7 Antonio|Martinez|Luzco
8 Mirella|Abad|Nothing
9
10 (2 filas afectadas)
Como veis es una herramienta sencilla pero pontente. Aquí os dejo más referencias sobre sqlcmd, Ciao
 sqlcmd Utility – http://msdn.microsoft.com/en-us/library/ms162773.aspx
 Lección 1: Iniciar sqlcmd – http://msdn.microsoft.com/es-es/library/ms166559.aspx
 SQLCMD Step-by-Step – http://databases.about.com/od/sqlserver/ss/sqlcmd.htm
 Using SQL Server 2005 sqlcmd Utility –
http://www.databasejournal.com/features/mssql/article.php/3566401/Using-SQL-Server-2005-sqlcmd-
Utility.htm
Facebook
Twitter
Google+
Posted in Herramientas, Sistemas
Usar la utilidad sqlcmd (SQL Server Express)
https://technet.microsoft.com/es-es/library/ms165702(v=sql.105).aspx