مشاركة عبر


Connect to Synapse SQL مع sqlcmd

يمكنك استخدام أداة سطر الأوامر sqlcmd للاتصال والبحث عن تجمع SQL بدون خادم ومجموعة SQL مخصصة داخل Synapse 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 للمصادقة

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

تجمع 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 (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.