Aracılığıyla paylaş


sqlcmd ile Synapse SQL'e bağlanma

Synapse SQL içindeki sunucusuz SQL havuzuna ve ayrılmış SQL havuzuna bağlanmak ve bunları sorgulamak için sqlcmd komut satırı yardımcı programını kullanabilirsiniz.

1. Bağlan

sqlcmd'yi kullanmaya başlamak için komut istemini açın ve sqlcmd yazın ve ardından Synapse SQL veritabanınızın bağlantı dizesini girin. Bağlantı dizesi aşağıdaki parametreleri gerektirir:

  • Sunucu (-S): Sunucu Adı-ondemand.sql.azuresynapse.net>(Sunucusuz SQL havuzu) veya <Sunucu Adı.sql.azuresynapse.net>(Ayrılmış SQL havuzu) biçimindeki <sunucu
  • Veritabanı (-d): Veritabanı adı
  • Teklif Edilen Tanımlayıcıları Etkinleştir (-I): Synapse SQL örneğine bağlanmak için tırnak içine alınmış tanımlayıcıların etkinleştirilmesi gerekir

SQL Server Kimlik Doğrulaması'nı kullanmak için kullanıcı adı ve parola parametrelerini eklemeniz gerekir:

  • Kullanıcı (-U): Kullanıcı biçimindeki <sunucu kullanıcısı>
  • Parola (-P): Kullanıcıyla ilişkilendirilmiş parola

Bağlantı dizeniz aşağıdaki örnekteki gibi görünebilir:

Sunucusuz SQL havuzu

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I

Ayrılmış SQL havuzu

C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I

Microsoft Entra tümleşik kimlik doğrulamasını kullanmak için Microsoft Entra parametrelerini eklemeniz gerekir:

  • Microsoft Entra kimlik doğrulaması (-G): Kimlik doğrulaması için Microsoft Entra Id kullanın

Bağlantı dizeniz aşağıdaki örneklerde olduğu gibi görünebilir:

Sunucusuz SQL havuzu

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I

Ayrılmış SQL havuzu

C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I

Uyarı

Active Directory kullanarak kimlik doğrulaması yapmak için Microsoft Entra kimlik doğrulamasını etkinleştirmeniz gerekir.

2. Sorgu

Ayrılmış SQL havuzunu kullanma

Bağlantıdan sonra, örnek üzerinde desteklenen transact-SQL (T-SQL) deyimlerini yayımlayabilirsiniz. Bu örnekte sorgular etkileşimli modda gönderilir:

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

Ayrılmış SQL havuzu için aşağıdaki örneklerde, -Q seçeneğini kullanarak veya SQL'inizi sqlcmd'ye yönlendirirken toplu iş modunda sorguların nasıl çalıştırıldığı gösterilmektedir:

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

Sunucusuz SQL havuzu kullanma

Bağlandıktan sonra, örnek üzerinde desteklenen transact-SQL (T-SQL) deyimlerini yayımlayabilirsiniz. Aşağıdaki örnekte sorgular etkileşimli modda gönderilir:

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

Sunucusuz SQL havuzu için, aşağıdaki örneklerde -Q seçeneğini kullanarak veya SQL'inizi sqlcmd'ye yönlendirmeyi kullanarak toplu iş modunda sorguların nasıl çalıştırıldığı gösterilmektedir:

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

Sonraki adımlar

sqlcmd seçenekleri hakkında daha fazla bilgi için sqlcmd belgelerine bakın.