SQL Server SQLCMD
SQL Server SQLCMD
SQL Server SQLCMD
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