다음을 통해 공유


sqlcmd를 사용하여 Synapse SQL에 연결

sqlcmd 명령줄 유틸리티를 사용하여 Synapse SQL 내에서 서버리스 SQL 풀 및 전용 SQL 풀에 연결하고 쿼리할 수 있습니다.

1. 연결

sqlcmd를 시작하려면 명령 프롬프트를 열고 Synapse SQL 데이터베이스에 대한 연결 문자열 뒤에 sqlcmd를 입력합니다. 연결 문자열에는 다음 매개 변수가 필요합니다.

  • 서버(-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

참고 항목

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 설명서를 참조하세요.