使用 sqlcmd 連線至 Synapse SQL
您可以使用 sqlcmd 命令列公用程式,在 Synapse SQL 內連線和查詢無伺服器 SQL 集區和專用 SQL 集區。
1. 連線
若要開始使用 sqlcmd,請開啟命令提示字元,然後輸入 sqlcmd ,然後輸入 Synapse SQL 資料庫的 連接字串。 連接字串需要下列參數:
- 伺服器 (-S): 伺服器名稱
<
>
ondemand.sql.azuresynapse.net(無伺服器 SQL 集區)或<
伺服器名稱>
。sql.azuresynapse.net(專用 SQL 集區) - 資料庫 (-d): 資料庫名稱
- 啟用引號識別碼 (-I): 必須啟用引號識別碼才能連線到 Synapse SQL 實例
若要使用 SQL Server 驗證,您必須新增使用者名稱和密碼參數:
- 使用者 (-U): 使用者表單
<
中的伺服器使用者>
- 密碼 (-P): 與使用者相關聯的密碼
您的連接字串看起來可能如下列範例所示:
無伺服器 SQL 集區
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
專用 SQL 集區
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
若要使用 Microsoft Entra 整合式驗證,您需要新增 Microsoft Entra 參數:
- Microsoft Entra 驗證 (-G): 使用 Microsoft Entra ID 進行驗證
您的連接字串看起來可能如下列範例所示:
無伺服器 SQL 集區
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I
專用 SQL 集區
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I
注意
您必須 啟用 Microsoft Entra 驗證 ,才能使用 Active Directory 進行驗證。
2. 查詢
使用專用 SQL 集區
連線之後,您可以針對 實例發出任何支援的 Transact-SQL (T-SQL ) 語句。 在此範例中,查詢會以互動式模式提交:
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
針對專用 SQL 集區,下列範例會示範如何使用 -Q 選項或將 SQL 管線傳送至 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
使用無伺服器 SQL 集區
連線之後,您可以針對 實例發出任何支援的 Transact-SQL (T-SQL ) 語句。 在下列範例中,查詢會以互動式模式提交:
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
針對無伺服器 SQL 集區,下列範例示範如何使用 -Q 選項以批次模式執行查詢,或將 SQL 管線傳送至 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
下一步
如需 sqlcmd 選項的詳細資訊,請參閱 sqlcmd 檔 。