Conexión a Synapse SQL mediante sqlcmd
Con la utilidad de línea de comandos sqlcmd puede conectarse tanto al grupo de SQL sin servidor como al grupo de SQL dedicado en Synapse SQL, así como realizar consultas en ellos.
1. Conectar
Para empezar a trabajar con sqlcmd, abra el símbolo del sistema y escriba sqlcmd seguido de la cadena de conexión de la base de datos de Synapse SQL. La cadena de conexión requiere los siguientes parámetros:
- Servidor (-S): Servidor con el formato
<
Nombre del servidor>
-ondemand.sql.azuresynapse.net(grupo de SQL sin servidor) o<
Nombre del servidor>
.sql.azuresynapse.net(grupo de SQL dedicado) - Database (-d): Nombre de la base de datos
- Enable Quoted Identifiers (-I): Los identificadores entre comillas tienen que estar habilitados para poder conectarse a una instancia de Synapse SQL.
Para utilizar la autenticación de SQL Server, debe agregar los parámetros de nombre de usuario y contraseña:
- User (-U): usuario del servidor con el formato
<
Usuario>
- Password (-P): contraseña asociada con el usuario.
La cadena de conexión podría ser similar a la siguiente:
Grupo de SQL sin servidor
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
Grupo de SQL dedicado
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
Para usar la autenticación integrada de Microsoft Entra, debe agregar sus parámetros:
- Autenticación de Microsoft Entra (-G): utilice Microsoft Entra ID para la autenticación.
La cadena de conexión podría ser similar a la de los siguientes ejemplos:
Grupo de SQL sin servidor
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I
Grupo de SQL dedicado
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I
Nota:
Tiene que habilitar la autenticación de Microsoft Entra para autenticarse con Active Directory.
2. Consultar
Uso del grupo de SQL dedicado
Después de la conexión, puede emitir cualquier instrucción Transact-SQL (T-SQL) en la instancia. En este ejemplo, las consultas se envían en modo interactivo:
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
1> SELECT name FROM sys.tables;
2> GO
3> QUIT
En el grupo de SQL dedicado, los ejemplos siguientes le muestran cómo ejecutar consultas en el modo por lotes mediante la opción -Q o mediante la canalización de su SQL a sqlcmd:
sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I -Q "SELECT name FROM sys.tables;"
"SELECT name FROM sys.tables;" | sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I > .\tables.out
Uso de grupos de SQL sin servidor
Después de la conexión, puede emitir cualquier instrucción Transact-SQL (T-SQL) en la instancia. En el siguiente ejemplo, las consultas se envían en modo interactivo:
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
1> SELECT COUNT(*) FROM OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')
2> GO
3> QUIT
En el caso del grupo de SQL sin servidor, los ejemplos siguientes muestran cómo ejecutar consultas en el modo por lotes mediante la opción -Q o la canalización de SQL a sqlcmd:
sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P 'Enter_Your_Password_Here' -I -Q "SELECT COUNT(*) FROM OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')"
"SELECT COUNT(*) FROM OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')" | sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P 'Enter_Your_Password_Here' -I > ./tables.out
Pasos siguientes
Para más información sobre las opciones de sqlcmd, consulte la documentación de sqlcmd.