مشاركة عبر


الاتصال إلى Synapse SQL باستخدام sqlcmd

يمكنك استخدام الأداة المساعدة سطر الأوامر sqlcmd للاتصال والاستعلام عن تجمع SQL بلا خادم وتجمع SQL المخصص.

1. اتصال

لتشغيلsqlcmd، افتح موجه الأوامر وأدخل sqlcmd متبوعًا بسلسلة الاتصال لقاعدة بيانات SQL Synapse. تتطلب سلسلة الاتصال المعلمات التالية:

  • الخادم (-S): خادم في النموذج <Server Name-ondemand.sql.azuresynapse.net> (تجمع SQL بلا خادم) أو <Server Name.sql.azuresynapse.net> (تجمع SQL مخصص)
  • قاعدة البيانات (-d): اسم قاعدة البيانات
  • تمكين المُعرّفات المقتبسة (-I): يجب تمكين المُعرّفات المقتبسة للاتصال بمثيل SQL Synapse

لاستخدام مصادقة 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 للمصادقة

قد تبدو سلسلة الاتصال الخاصة بك مثل الأمثلة التالية:

تجمع 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 مدعومة مقابل المثيل. في المثال التالي، يتم إرسال الاستعلامات في الوضع التفاعلي:

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.