¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

Procedimiento: Conectarse a Base de datos SQL de Azure con sqlcmd

Actualizado: mayo de 2015

En este tema se describe cómo la conexión con la utilidad sqlcmd.exe en Base de datos SQL de Microsoft Azure se diferencia de la conexión en la versión tradicional de Microsoft SQL Server local. También se trata SQL Server Management Studio (SSMS).

La tabla siguiente muestra cadenas de conexión para usos específicos. Para mejorar la presentación en este caso, cada cadena se divide en varias líneas.

 

Producto de base de datos Cadena de conexión Comentarios

A.
Microsoft SQL Server, local

sqlcmd.exe -P MyPassword
    -U MyLogin
    -S myserver

Valor predeterminado: base de datos master.

B.
Base de datos SQL de Azure, formato completo

sqlcmd.exe -P MyPassword
    -U MyLogin@myserver
    -S tcp:myserver.database.windows.net,1433
    -d AdventureWorks
    -l 30

Se recomienda este formato.

C.
Base de datos SQL de Azure, formato más corto posible

sqlcmd.exe -P MyPassword
    -U MyLogin
    -S myserver.database.windows.net
    -d AdventureWorks
    -l 30

No se recomienda este formato más corto. Este formato corto funciona en algunos casos, pero no en todos.

Este formato podría ser incluso más corto descartando los parámetros -d y -l, que nuevamente no se recomienda.

Con respecto a los parámetros que difieren entre la conexión a SQL Server y la conexión a Base de datos SQL de Azure, en la tabla siguiente se describen las diferencias cuando se aplican a Base de datos SQL de Azure.

 

Parámetro Valor de ejemplo Descripción de Base de datos SQL de Azure

-U

Nombre de usuario.

-U MyLogin@myserver

El siguiente valor incorrecto podría funcionar, pero es incorrecto porque se omiten todos los nodos delimitados por puntos después @myserver:
-U MyLogin@myserver.database.windows.net

Incluso funcionaría el siguiente valor silly:
-U MyLogin@myserver.silly

El siguiente valor no válido para la parte del nombre de servidor provocaría un error:
-U MyLogin@wrongsvr

La inclusión de la @ y el nombre del servidor de nodo único proporciona una buena confirmación de que se está conectando al servidor previsto. Sin embargo, esta inclusión no siempre es estrictamente necesaria.

-S

Nombre del servidor y extensión.

-S tcp:myserver.database.windows.net,1433

El literal delimitado por puntos .database.windows.net siempre es necesario.

La parte tcp: inicial identifica el protocolo de comunicación necesario. A veces opcional pero recomendado.

Los números ,1433 finales corresponden al número de puerto de comunicación que usa Base de datos SQL de Azure. A veces opcional pero recomendado.

-d

Nombre de la base de datos.

-d AdventureWorks

Casi nunca es necesario conectarse a la base de datos master en Base de datos SQL de Azure. master es todavía la base de datos predeterminada.

Base de datos SQL de Azure no es compatible con el comando USE de Transact-SQL. No puede salir de la base de datos master ni de ninguna base de datos.

Por lo tanto, normalmente tendrá que conectarse con el parámetro -d.

-l

Tiempo de espera de inicio de sesión.

-l 30

Microsoft recomienda asignar más tiempo a un intento de conexión cuando se realice por Internet. El valor predeterminado de tiempo de espera de inicio de sesión es 15 segundos, pero por Internet a veces resulta útil asignar un lapso más paciente de 30 segundos.

A continuación se muestra el contenido de la consola de cmd.exe en una ejecución de sqlcmd.exe en Base de datos SQL de Azure.

[C:\\]
>> sqlcmd.exe -U MyLogin@myserver -S tcp:myserver.database.windows.net,1433 -d AdventureWorks -P MyPassword -l 30
1> SET nocount on;  SELECT getdate();
2> SELECT top 3 o.name from sys.objects as o where o.type='U' order by 1;
3> go

-----------------------
2015-05-12 23:17:32.740
name

---------------------------------------------------------------------------------------------------------------------------

Address

BuildVersion

Customer

1> quit

[C:\\]
>>

La recomendación sobre cadena de conexión que se aplica a sqlcmd.exe también se aplica a SSMS, que es ssms.exe.

Para SSMS, en el diálogo Conectar con el servidor, debe escribir los valores siguientes:

  • Establezca el control con la etiqueta Autenticación en el valor Autenticación de SQL Server.

    • Base de datos SQL de Azure no admite Autenticación de Windows.

  • Haga clic en Opciones > Propiedades de conexión. Luego, escriba los valores siguientes:

    • Conectar con base de datos:    MyDatabaseName

    • Tiempo de espera de la conexión:    30

Mostrar:
© 2015 Microsoft