다음을 통해 공유


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

비고

Active Directory를 사용하여 인증하려면 Microsoft Entra 인증을 사용하도록 설정 해야 합니다.

2. 쿼리

전용 SQL 풀 사용

연결 후 인스턴스에 대해 지원되는 모든 T-SQL(Transact-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 풀 사용

연결한 후 인스턴스에 대해 지원되는 모든 T-SQL(Transact-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 설명서를 참조하세요.