sqlcmd コマンド ライン ユーティリティを使用して、Synapse SQL 内のサーバーレス SQL プールと専用 SQL プールに接続してクエリを実行できます。
1.接続する
sqlcmd の使用を開始するには、コマンド プロンプトを開き、「sqlcmd」と入力し、その後に Synapse SQL データベースの接続文字列を入力します。 接続文字列には、次のパラメーターが必要です。
-
サーバー (-S):
<
サーバー名>
-ondemand.sql.azuresynapse.net(サーバーレス SQL プール) または<
Server Name>
.sql.azuresynapse.net(専用 SQL プール) の形式のサーバー - データベース (-d): データベース名
- 引用符で囲まれた識別子を有効にする (-I): Synapse SQL インスタンスに接続するには、引用符で囲まれた識別子を有効にする必要があります
SQL Server 認証を使用するには、ユーザー名とパスワードのパラメーターを追加する必要があります。
-
ユーザー (-U): サーバーユーザーは
<
User>
の形式になります。 - パスワード (-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
注
Active Directory を使用して認証するには 、Microsoft Entra 認証を有効にする 必要があります。
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 のドキュメントを参照してください。