اختلافات T-SQL بين خادم SQL & مثيل Azure SQL المُدار

ينطبق على: مثيل Azure SQL المُدار

تلخص هذه المقالة وتشرح الاختلافات في بناء الجملة والسلوك بين مثيل Azure SQL Managed وSQL Server.

يوفر المثيل المُدار SQL Managed توافقاً عالياً مع محرك قاعدة بيانات SQL Server، ويتم دعم معظم الميزات في مثيل SQL Managed.

Easy migration from SQL Server

توجد بعض قيود منصة العمل كخدمة التي تم تقديمها في مثيل SQL Managed وبعض التغييرات السلوكية مقارنة بـ SQL Server. تنقسم الاختلافات إلى الفئات التالية:

معظم هذه الميزات هي قيود معمارية وتمثل ميزات الخدمة.

المشاكل المؤقتة المعروفة التي تم اكتشافها في مثيل SQL Managed والتي سيتم حلها في المستقبل موضحة فيWhat's new?.

التوفر

مجموعات التوفر الدائم

قابلية الوصول العاليةمضمنة في مثيل مُدار للغة الاستعلامات المركبة ولا يمكن للمستخدمين التحكم فيها. العبارات التالية غير مدعومة:

نسخة احتياطية

يحتوي Azure SQL Managed Instance على نُسخ احتياطية تلقائية، بحيث يمكن للمستخدمين إنشاء نسخ احتياطية COPY_ONLY كاملة لقاعدة البيانات. النسخ الاحتياطية التفاضلية والسجلات والملفات غير مدعومة.

  • باستخدام مثيل SQL Managed، يمكنك إجراء نسخ احتياطي لقاعدة بيانات مثيل فقط إلى حساب تخزين Azure Blob:
    • يتم دعم BACKUP TO URL فقط.
    • FILE وTAPE وأجهزة النسخ الاحتياطي غير مدعومة.
  • يتم دعم معظم خياراتWITH العامة.
    • COPY_ONLY إلزامي.
    • FILE_SNAPSHOT غير مدعوم.
    • خيارات الضغط: REWINDوNOREWINDوUNLOADوNOUNLOADغير مدعومة.
    • الخيارات الخاصة بالسجل: NORECOVERYوSTANDBYوNO_TRUNCATEغير مدعومة.

القيود:

  • باستخدام مثيل SQL Managed، يمكنك نسخ قاعدة بيانات مثيل احتياطياً إلى نسخة احتياطية تصل إلى 32 شريطاً، وهو ما يكفي لقواعد البيانات حتى 4 تيرابايت في حالة استخدام ضغط النسخ الاحتياطي.

  • لا يمكنك تنفيذBACKUP DATABASE ... WITH COPY_ONLY على قاعدة بيانات مشفرة باستخدام خدمة تشفير البيانات الشفافة (TDE). تفرض TDE المُدارة بواسطة الخدمة تشفير النسخ الاحتياطية باستخدام مفتاح TDE داخلي. لا يمكن تصدير المفتاح، لذا لا يمكنك استعادة النسخة الاحتياطية. استخدم النسخ الاحتياطية التلقائية والاستعادة في الوقت المحدد، أو استخدم TDE المُدار بواسطة العميل (BYOK) بدلاً من ذلك. يمكنك أيضاً تعطيل التشفير في قاعدة البيانات.

  • لا يمكن استعادة النُسخ الاحتياطية الأصلية التي تم التقاطها على SQL Managed Instance إلى SQL Server. وذلك لأن SQL Managed Instance لديه إصدار قاعدة بيانات داخلية أعلى مقارنةً بأي إصدار من SQL Server.

  • لإجراء نسخ احتياطي لقاعدة بيانات أو استعادتها إلى / من Azure storage، من الضروري إنشاء توقيع وصول مشترك (SAS) عنوان URI يمنحك حقوق وصول مقيدة إلى موارد Azure storage تعرف على المزيد حول هذا. استخدام مفاتيح الوصول لهذه السيناريوهات غير مدعوم.

  • الحد الأقصى لحجم شريط النسخ الاحتياطي باستخدام الأمرBACKUP في مثيل SQL Managed هو 195 جيجا بايت، وهو الحد الأقصى لحجم كائن ثنائي كبير الحجم. قم بزيادة عدد الشرائط في أمر النسخ الاحتياطي لتقليل حجم الشريط الفردي والبقاء ضمن هذا الحد.

    تلميح

    للتغلب على هذا القيد، عند إجراء نسخ احتياطي لقاعدة بيانات من SQL Server في بيئة محلية أو في جهاز ظاهري، يمكنك:

    • النسخ الاحتياطي إلىDISKبدلاً من النسخ الاحتياطي إلىURL.
    • تحميل ملفات النسخ الاحتياطي إلى تخزين كائن ثنائي كبير الحجم.
    • استعادة إلى مثيل SQL Managed.

    يدعم الأمرRestore في مثيل SQL Managed أحجام كائن ثنائي كبير الحجم أكبر في ملفات النسخ الاحتياطي نظراً لاستخدام نوع كائن ثنائي كبير الحجم مختلف لتخزين ملفات النسخ الاحتياطي التي تم تحميلها.

للحصول على معلومات حول النسخ الاحتياطية باستخدام T-SQL، راجعالنسخ الاحتياطي.

الأمان

التدقيق

الاختلافات الرئيسية بين التدقيق في Microsoft Azure SQL وSQL Server هي:

  • باستخدام مثيل مُدار للغة الاستعلامات المركبة، يعمل التدقيق على مستوى الخادم. يتم تخزين ملفات السجل.xel في تخزين Azure Blob.
  • باستخدام Azure SQL Database، يعمل التدقيق على مستوى قاعدة البيانات. يتم تخزين ملفات السجل.xel في تخزين Azure Blob.
  • باستخدام SQL Server، في أماكن العمل أو في الأجهزة الظاهرية، يعمل التدقيق على مستوى الخادم. يتم تخزين الأحداث في نظام الملفات أو سجلات أحداث Windows.

يدعم تدقيق XEvent في مثيل مُدار من SQL أهداف تخزين Azure Blob. سجلات الملفات وWindows غير مدعومة.

الاختلافات الرئيسية في بناء جملةCREATE AUDITللتدقيق على تخزين Azure Blob هي:

  • يتم توفير بناء جملة جديدTO URL يمكنك استخدامه لتحديد عنوان URL لحاوية تخزين Azure Blob حيث يتم وضع ملفات.xel.
  • بناء الجملةTO FILE غير مدعوم لأن مثيل مُدار للغة الاستعلامات المركبة لا يمكنه الوصول إلى مشاركات ملفات Windows.

لمزيد من المعلومات، انظر:

الشهادات

لا يمكن لـ مثيل مُدار للغة الاستعلامات المركبة الوصول إلى مشاركات الملفات ومجلدات Windows، لذلك يتم تطبيق القيود التالية:

  • ملفCREATE FROM/BACKUP TO غير مدعوم للشهادات.
  • الشهادةCREATE/BACKUP منFILE/ASSEMBLY غير مدعومة. لا يمكن استخدام ملفات المفاتيح الخاصة.

راجعCREATE CERTIFICATEو BACKUP CERTIFICATE.

حل بديل: بدلاً من إنشاء نسخة احتياطية من الشهادة واستعادة النسخة الاحتياطية، احصل على المحتوى الثنائي للشهادة والمفتاح الخاص، وقم بتخزينهما كملف .sql، وأنشئ من ثنائي:

CREATE CERTIFICATE  
   FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>)

بيانات اعتماد

يتم دعم Azure Key Vault وهوياتSHARED ACCESS SIGNATURE فقط. لا يتم دعم مستخدمي Windows.

راجعCREATE CREDENTIALوALTER CREDENTIAL.

موفرو التشفير

لا يمكن لـ مثيل SQL Managed الوصول إلى الملفات، لذلك لا يمكن إنشاء موفري التشفير:

تسجيلات الدخول والمستخدمين

  • يتم دعم عمليات تسجيل دخول SQL التي تم إنشاؤها باستخدامFROM CERTIFICATE وFROM ASYMMETRIC KEY وFROM SID. راجعCREATE LOGIN.

  • يتم دعم أساسيات خادم Microsoft Azure Active Directory (Microsoft Azure Active Directory) (عمليات تسجيل الدخول) التي تم إنشاؤها باستخدام بناء جملةCREATE LOGIN أو بناء جملة CREATE USER FROM LOGIN [Azure AD Login]. يتم إنشاء عمليات تسجيل الدخول هذه على مستوى الخادم.

    يدعم مثيل SQL Managed أساسيات قاعدة بيانات Microsoft Azure Active Directory مع بناء الجملةCREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. تُعرف هذه الميزة أيضاً باسم مستخدمي قاعدة البيانات المضمنة فيMicrosoft Azure Active Directory.

  • لا يتم دعم عمليات تسجيل الدخول إلى Windows التي تم إنشاؤها باستخدام بناء الجملةCREATE LOGIN ... FROM WINDOWS. استخدم تسجيلات دخولMicrosoft Azure Active Directory والمستخدمين.

  • يمتلك مسؤولMicrosoft Azure Active Directory للمثيل امتيازات مسؤول غير مقيدة.

  • يمكن إنشاء مستخدمين على مستوى قاعدة بيانات Microsoft Azure Active Directory غير المسؤولين باستخدام بناء الجملةCREATE USER ... FROM EXTERNAL PROVIDER. راجعCREATE USER ... FROM EXTERNAL PROVIDER.

  • تدعم أساسيات خادمMicrosoft Azure Active Directory (تسجيلات الدخول) ميزات SQL داخل مثيل SQL مُدار واحد فقط. الميزات التي تتطلب تفاعلاً عبر المثيل، بغض النظر عما إذا كانت داخل نفس مستأجرMicrosoft Azure Active Directory أو مستأجرين مختلفين، غير مدعومة لمستخدميMicrosoft Azure Active Directory. أمثلة على هذه الميزات هي:

    • النسخ المتماثل للمعاملات SQL.
    • خادم الارتباط.
  • تعيين تسجيل دخولMicrosoft Azure Active Directory إلى مجموعةMicrosoft Azure Active Directory لأن مالك قاعدة البيانات غير مدعوم. يمكن أن يكون أحد أعضاء مجموعةMicrosoft Azure Active Directory مالكاً لقاعدة البيانات، حتى إذا لم يتم إنشاء تسجيل الدخول في قاعدة البيانات.

  • يتم دعم انتحال هوية أساسيات مستوى الخادم Microsoft Azure Active Directory باستخدام أساسيات Microsoft Azure Active Directory الأخرى، مثل عبارةEXECUTE AS. قيود EXECUTE AS هي:

    • EXECUTE AS USER غير مدعوم لمستخدمي Microsoft Azure Active Directory عندما يختلف الاسم عن اسم تسجيل الدخول. مثال على ذلك هو عندما يتم إنشاء المستخدم من خلال بناء الجملة CREATE USER [myAadUser] FROM LOGIN [john@contoso.com] ومحاولة انتحال الهوية من خلال EXEC AS USER = myAadUser. عند إنشاءUSER من خادم Microsoft Azure Active Directory الأساسي (تسجيل الدخول)، حدد اسم المستخدم كاسم تسجيل الدخول نفسه منLOGIN.

    • يمكن فقط لأساسيات SQL Server على مستوى (تسجيلات الدخول) التي تعد جزءاً من الدورsysadmin تنفيذ العمليات التالية التي تستهدف أساسياتMicrosoft Azure Active Directory:

      • تنفيذ كمستخدم
      • تنفيذ عند تسجيل الدخول
    • لانتحال شخصية مستخدم بعبارة EXECUTE AS، يجب تعيين المستخدم مباشرةً إلى خادم Microsoft Azure Active Directory الأساسي (تسجيل الدخول). لا يمكن انتحال هوية المستخدمين الأعضاء في مجموعات Microsoft Azure Active Directory المعينة في أساسيات خادمMicrosoft Azure Active Directory بشكل فعال من خلال عبارة EXECUTE AS، على الرغم من أن المتصل لديه أذونات انتحال على اسم المستخدم المحدد.

  • يتم دعم تصدير/ استيراد قاعدة البيانات باستخدام ملفات bacpac لمستخدمي Microsoft Azure Active Directory في SQL المُدار باستخدام إماManagement Studio V18.4 وإما أحدث، أو SQLPackage.exe.

    • يتم دعم التكوينات التالية باستخدام ملف قاعدة بيانات bacpac:
      • تصدير/ استيراد قاعدة بيانات بين مثيلات إدارة مختلفة داخل نفس مجالMicrosoft Azure Active Directory.
      • تصدير قاعدة بيانات من SQL Managed Instance واستيرادها إلى SQL Database داخل نفس مجال Microsoft Azure Active Directory.
      • قم بتصدير قاعدة بيانات من SQL Database واستيرادها إلى مثيل SQL Managed داخل نفس مجال Microsoft Azure Active Directory.
      • تصدير قاعدة بيانات من مثيل مُدار للغة الاستعلامات المركبة واستيرادها إلى SQL Server (إصدار 2012 أو أحدث).
        • في هذا التكوين، يتم إنشاء جميع مستخدمي Microsoft Azure Active Directory كأساسيات قاعدة بيانات SQL Server (مستخدمين) بدون تسجيلات دخول. يتم إدراج نوع المستخدمين كـ SQL ويكون مرئياً كـ SQL_USER في sys.database_principals). تظل أذوناتهم وأدوارهم في بيانات تعريف قاعدة بيانات SQL Server ويمكن استخدامها لانتحال الهوية. ومع ذلك، لا يمكن استخدامها للوصول إلى SQL Server وتسجيل الدخول إليه باستخدام بيانات الاعتماد خاصتهم.
  • يمكن فقط تسجيل الدخول الأساسي على مستوى الخادم، والذي تم إنشاؤه بواسطة عملية توفير مثيل SQL Managed، أو أعضاء من أدوار الخادم، مثلsecurityadmin أوsysadmin، أو عمليات تسجيل دخول أخرى مع ALTER ANY LOGIN إذن على مستوى الخادم، لإنشاء أساسيات خادم Microsoft Azure Active Directory(تسجيلات الدخول) في قاعدة البيانات الرئيسية لـ مثيل SQL Managed.

  • إذا كان تسجيل الدخول هو أساس SQL، فإنه يمكن فقط لعمليات تسجيل الدخول التي تعد جزءًا من الدور sysadmin استخدام الأمر إنشاء لإنشاء عمليات تسجيل دخول لحساب Microsoft Azure Active Directory.

  • يجب أن يكون تسجيل الدخول إلىMicrosoft Azure Active Directory عضواً في Microsoft Azure Active Directory داخل نفس الدليل المستخدم لـ مثيل Azure SQL Managed.

  • تظهر أساسيات خادم Microsoft Azure Active Directory(تسجيلات الدخول) في Object Explorer بدءاً SQL Server Management Studio 18.0 preview 5.

  • يتم إنشاء كيان الخادم بمستوى وصولمسؤول النظام تلقائياً لحساب مسؤول Azure AD بمجرد تمكينه على مثيل.

  • أثناء المصادقة، يتم تطبيق التسلسل التالي لحل أساس المصادقة:

    1. إذا كان حساب Azure AD موجوداً كما تم تعيينه مباشرةً إلى خادم Azure AD الأساسي (تسجيل الدخول)، الموجود في sys.server_principals كنوع "E"، فامنح حق الوصول وطبق أذونات خادم Azure AD الأساسي (تسجيل الدخول).
    2. إذا كان حساب Azure AD عضواً في مجموعة Azure AD التي تم تعيينها إلى خادم Azure AD الأساسي (تسجيل الدخول)، الموجود في sys.server_principals كنوع "X"، فامنح حق الوصول وطبق أذونات تسجيل الدخول إلى مجموعة Azure AD.
    3. إذا كان حساب Azure AD موجوداً كما تم تعيينه مباشرةً لمستخدم Azure AD في قاعدة بيانات، والموجودة في sys.database_principals كنوع "E"، فامنح حق الوصول وطبق أذونات مستخدم قاعدة بيانات Azure AD.
    4. إذا كان حساب Azure AD عضواً في مجموعة Azure AD التي تم تعيينها لمستخدم Azure AD في قاعدة بيانات، والموجودة في sys.database_principals كنوع "X"، فامنح حق الوصول وطبق أذونات مستخدم مجموعة Azure AD.

مفتاح الخدمة ومفتاح الخدمة الرئيسي

التكوين

تمديد مجموعة المخزن المؤقت

الترتيب

ترتيب النسخ الافتراضي هوSQL_Latin1_General_CP1_CI_AS ويمكن تحديده كمعامل تكوين. راجعCollations.

مستويات التوافق

  • مستويات التوافق المدعومة هي 100 و110 و120 و130 و140 و150.
  • مستويات التوافق أقل من 100 غير مدعومة.
  • مستوى التوافق الافتراضي لقواعد البيانات الجديدة هو 140. بالنسبة لقواعد البيانات المستعادة، يظل مستوى التوافق دون تغيير إذا كان 100 وما فوق.

راجعتغيير مستوى توافق قاعدة البيانات.

النسخ المتطابق لقاعدة البيانات

النسخ المتطابق لقاعدة البيانات غير مدعوم.

  • خياراتALTER DATABASE SET PARTNER وSET WITNESSغير مدعومة.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING غير مدعوم.

لمزيد من المعلومات، راجعALTER DATABASE SET PARTNER and SET WITNESSوCREATE ENDPOINT… FOR DATABASE_MIRRORING.

خيارات قاعدة البيانات

  • ملفات السجل المتعددة غير مدعومة.
  • العناصر الموجودة في الذاكرة غير مدعومة في طبقة خدمة General Purpose.
  • يوجد حد أقصى يبلغ 280 ملفاً لكل مثيل للأغراض العامة، ما يعني ضمناً 280 ملفاً كحد أقصى لكل قاعدة بيانات. يتم حساب كل من ملفات البيانات والسجلات في طبقة General Purpose في هذا الحد. تدعم طبقة Business Critical 32767 ملفاً لكل قاعدة بيانات.
  • لا يمكن أن تحتوي قاعدة البيانات على مجموعات الملفات التي تحتوي على بيانات تدفق الملفات. تفشل الاستعادة إذا احتوى .bak على بياناتFILESTREAM.
  • يتم وضع كل ملف في تخزين Azure Blob. يعتمد الإدخال والإخراج لكل ملف على حجم كل ملف على حدة.

عبارة CREATE DATABASE

تنطبق القيود التالية علىCREATE DATABASE:

  • لا يمكن تعريف الملفات ومجموعات الملفات.

  • الخيارCONTAINMENTغير مدعوم.

  • WITHمن الخيارات غير مدعومة.

    تلميح

    كحل بديل، استخدمALTER DATABASEبعدCREATE DATABASEلتعيين خيارات قاعدة البيانات لإضافة ملفات أو لتعيين الاحتواء.

  • الخيارFOR ATTACHغير مدعوم.

  • الخيارAS SNAPSHOT OFغير مدعوم.

لمزيد من المعلومات، راجعCREATE DATABASE.

عبارة ALTER DATABASE

لا يمكن تعيين بعض خصائص الملف أو تغييرها:

  • لا يمكن تحديد مسار الملف فيALTER DATABASE ADD FILE (FILENAME='path')عبارة T-SQL. قم بإزالةFILENAME من البرنامج النصي لأنGeneral Purpose يضع الملفات تلقائياً.
  • لا يمكن تغيير اسم الملف باستخدام العبارةALTER DATABASE.

يتم تعيين الخيارات التالية افتراضياً ولا يمكن تغييرها:

  • MULTI_USER
  • ENABLE_BROKER
  • AUTO_CLOSE OFF

لا يمكن تعديل الخيارات التالية:

  • AUTO_CLOSE
  • AUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)
  • AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)
  • DISABLE_BROKER
  • EMERGENCY
  • ENABLE_BROKER
  • FILESTREAM
  • HADR
  • NEW_BROKER
  • OFFLINE
  • PAGE_VERIFY
  • PARTNER
  • READ_ONLY
  • RECOVERY BULK_LOGGED
  • RECOVERY_SIMPLE
  • REMOTE_DATA_ARCHIVE
  • RESTRICTED_USER
  • SINGLE_USER
  • WITNESS

قد تفشل بعض عباراتALTER DATABASE(على سبيل المثال، SET CONTAINMENT) بشكل عابر، على سبيل المثال أثناء النسخ الاحتياطي التلقائي لقاعدة البيانات أو بعد إنشاء قاعدة البيانات مباشرةً. في هذه الحالة، يجب إعادة محاولة عبارةALTER DATABASE. لمزيد من المعلومات حول رسائل الخطأ ذات الصلة، راجعقسم الملاحظات.

لمزيد من المعلومات، راجعALTER DATABASE.

SQL Server Agent

  • تمكين وتعطيل عامل خادم SQL غير مدعوم حالياً في مثيل SQL Managed. SQL Agent قيد التشغيل دائماً.
  • لا يتم دعم مشغل جدول العمل استناداً إلى وحدة المعالجة المركزية الخاملة.
  • تتم قراءة إعدادات SQL Server Agent فقط. الإجراءsp_set_agent_propertiesغير مدعوم في مثيل SQL Managed.
  • المهام
    • يتم دعم خطوات دالة T-SQL.
    • وظائف النسخ المتماثل التالية مدعومة:
      • قارئ سجل المعاملات
      • اللقطة
      • الموزع
    • يتم دعم خطوات مهمة SSIS.
    • الأنواع الأخرى من خطوات المهمة غير مدعومة حالياً:
      • خطوة مهمة النسخ المتماثل للدمج غير مدعومة.
      • قارئ قائمة الانتظار غير مدعوم.
      • الأمر shell غير مدعوم حتى الآن.
    • لا يمكن لـمثيل SQL Managed الوصول إلى الموارد الخارجية، على سبيل المثال، مشاركة شبكة الاتصال عبر robocopy.
    • خدمات تحليل SQL Server غير مدعومة.
  • الإخطارات مدعومة جزئياً.
  • يتم دعم إعلام البريد الإلكتروني، على الرغم من أنه يتطلب تكوين ملف تعريف بريد قاعدة البيانات. يمكن لـ SQL Server Agent استخدام ملف تعريف بريد قاعدة بيانات واحد فقط، ويجب أن يطلق عليهAzureManagedInstance_dbmail_profile.
    • جهاز النداء غير مدعوم.
    • NetSend غير مدعوم.
    • التنبيهات غير مدعومة حتى الآن.
    • الوكلاء غير مدعومين.
  • سجل الأحداث غير مدعوم.
  • يجب تعيين المستخدم مباشرةً إلى خادمMicrosoft Azure Active Directory الأساسي (تسجيل الدخول) لإنشاء مهام SQL Agent أو تعديلها أو تنفيذها. لن يتمكن المستخدمون الذين لم يتم تعيينهم بشكل مباشر، على سبيل المثال، المستخدمون الذين ينتمون إلى مجموعة Microsoft Azure Active Directory التي لديها حقوق إنشاء أو تعديل أو تنفيذ مهام عامل SQL، من تنفيذ هذه الإجراءات بشكل فعال. يُرجع هذا إلى انتحال هوية SQL Managed Instance وقيود EXECUTE AS.
  • لا يتم دعم ميزة "إدارة الخوادم المتعددة" للمهام الرئيسية/ الهدف (MSX / TSX).

للحصول على معلومات حول SQL Server Agent، راجععامل خادم SQL.

الجداول

أنواع الجداول التالية غير مدعومة:

للحصول على معلومات حول كيفية إنشاء الجداول وتعديلها، راجعCREATE TABLE و ALTER TABLE.

دالات

Bulk insert / OPENROWSET

لا يمكن لـمثيل SQL Managed الوصول إلى مشاركات الملفات ومجلدات Windows، لذلك يجب استيراد الملفات من تخزين Azure Blob:

  • DATASOURCEمطلوب في الأمرBULK INSERT أثناء استيراد الملفات من تخزين Azure Blob. راجعBULK INSERT.
  • DATASOURCEمطلوب في الدالةOPENROWSET عندما تقرأ محتوى ملف من تخزين Azure Blob. راجعOPENROWSET.
  • يمكن استخدامOPENROWSET لقراءة البيانات من Azure SQL Database أو مثيل Azure SQL Managed أو مثيلات SQL Server. المصادر الأخرى مثل قواعد بيانات Oracle أو ملفات Excel غير مدعومة.

CLR

لا يمكن لمثيل SQL Managed الوصول إلى مشاركات الملفات ومجلدات Windows، لذلك يتم تطبيق القيود التالية:

بريد قاعدة البيانات (db_mail)

  • لا يمكن لـsp_send_dbmailإرسال المرفقات باستخدام المعلمة@file_attachments. لا يمكن الوصول إلى نظام الملفات المحلي والمشاركات الخارجية أو تخزين Azure Blob من هذا الإجراء.
  • راجع المشاكل المعروفة المتعلقة بمعلمة@query والمصادقة.

DBCC

لا يتم دعم عبارات DBCC غير الموثقة والممكّنة في SQL Server في مثيل SQL Managed.

  • يتم دعم عدد محدود فقط من علامات التتبع العالمية. Session-levelTrace flagsغير مدعوم. راجعTrace flags.
  • يعمل كل منDBCC TRACEOFFو DBCC TRACEON مع عدد محدود من علامات التتبع العالمية.
  • لا يمكن استخدام DBCC CHECKDB مع الخيارات REPAIR_ALLOW_DATA_LOSS وREPAIR_FAST وREPAIR_REBUILD لأنه لا يمكن تعيين قاعدة البيانات في الوضعSINGLE_USER - راجع اختلافات ALTER DATABASE. يتولى فريق Azure support معالجة تلف قاعدة البيانات المحتمل. اتصل بدعم Azure إذا كان هناك أي مؤشر على تلف قاعدة البيانات.

معاملات موزعة

يتوفر الدعم الجزئيللمعاملات الموزعة حالياً في الإصدار الأولي العام. يتم دعم المعاملات الموزعة وفقاً للشروط التالية (يجب الوفاء بها جميعاً):

  • جميع المشاركين في المعاملة هم مثيلzure SQL Managed والتي تعد جزءاً من مجموعة Server trust.
  • يتم بدء المعاملات إما من .NET (فئة TransactionScope) أو Transact-SQL.

لا يدعم Azure SQL Managed Instance حالياً السيناريوهات الأخرى التي يتم دعمها بانتظام بواسطة MSDTC محلياً أو في أجهزة Azure الظاهرية.

الأحداث الموسعة

بعض الأهداف الخاصة بـ Windows للأحداث الموسعة (XEvents) غير مدعومة:

  • الهدفetw_classic_sync غير مدعوم. تخزين ملفات.xelفي تخزين Azure Blob. راجعهدف etw_classic_sync.
  • الهدفevent_file غير مدعوم. تخزين ملفات.xelفي تخزين Azure Blob. راجعevent_file target.

المكتبات الخارجية

يتم دعم مكتبات R وPython الخارجية في قاعدة البيانات في إصدار أولي عام محدود. راجع خدمات التعلم الآلي في مثيلAzure SQL Managed (إصدار أولي).

Filestream وFileTable

  • بيانات Filestream غير مدعومة.
  • لا يمكن أن تحتوي قاعدة البيانات على مجموعات ملفات ببياناتFILESTREAM.
  • FILETABLE غير مدعوم.
  • لا يمكن أن تحتوي الجداول علىFILESTREAM من الأنواع.
  • الدوال التالية غير مدعومة:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePat)
    • FileTableRootPath()

لمزيد من المعلومات، راجعFILESTREAMوFileTables.

Semantic Searchغير مدعوم.

الخوادم المرتبطة

تدعمLinked servers في مثيلAzure SQL Managed عدداً محدوداً من الأهداف:

  • الأهداف المدعومة هي مثيل SQL Server وSQL Database وAzure Synapse SQL بلا خادم ومستودعات مخصصة ومثيلات SQL Server.
  • المعاملات القابلة للكتابة المُوزعة ممكنة فقط بين SQL Managed Instances. لمزيد من المعلومات، راجعالمعاملات الموزعة. ومع ذلك، لا يتم دعم MS DTC.
  • الأهداف غير المدعومة هي الملفات وخدمات التحليل وأنظمة RDBMS الأخرى. حاول استخدام استيراد CSV أصلي منAzure Blob Storage باستخدامBULK INSERT أوOPENROWSET كبديل لاستيراد الملفات، أو تحميل الملفات باستخدام تجمع SQL بلا خادم في Azure Synapse Analytics.

العمليات:

  • معاملات الكتابة عبر المثيلمدعومة فقط لـ SQL Managed Instances.
  • يتم دعمsp_dropserverلإسقاط الخادم المرتبط. راجعsp_dropserver.
  • يمكن استخدام الدالةOPENROWSET لتنفيذ الاستعلامات في مثيلات SQL Server فقط. يمكن إدارتها محلياً أو في أجهزة ظاهرية. راجعOPENROWSET.
  • يمكن استخدام الدالةOPENDATASOURCE لتنفيذ الاستعلامات في مثيلات SQL Server فقط. يمكن إدارتها محلياً أو في أجهزة ظاهرية. يتم دعم قيمSQLNCLIوSQLNCLI11وSQLOLEDB فقط كموفر. المثال هو SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee. راجعOPENDATASOURCE.
  • لا يمكن استخدام الخوادم المرتبطة لقراءة الملفات (Excel, CSV) من مشاركات شبكة الاتصال. حاول استخدامBULK INSERT ،OPENROWSET الذي يقرأ ملفات CSV من تخزين Azure Blob، أو خادم مرتبط يشير إلى تجمع SQL بلا خادم في Synapse Analytics. تتبع هذه الطلبات في عنصر ملاحظات المثيل المُدار من SQL|

تدعم الخوادم المرتبطة في Azure SQL Managed Instance مصادقة SQL و مصادقة Azure AD.

Polybase

العمل على تمكين دعم Polybase في مثيل SQL Managedقيد التقدم. في غضون ذلك، كحل بديل، يمكنك استخدام الخوادم المرتبطة لتجمع SQL بلا خادم في Synapse Analytics أو SQL Server للاستعلام عن البيانات من الملفات المخزنة في Azure Data Lake أو Azure Storage.
للحصول على معلومات عامة حول PolyBase، راجع PolyBase.

النسخ المتماثل

  • يتم دعم أنواع النسخ متماثل اللقطة وثنائي الاتجاه. دمج النسخ المتماثل والنسخ المتماثل من نظير إلى نظير والاشتراكات القابلة للتحديث غير مدعومة.
  • يتوفرالنسخ المتماثل للمعاملات للإصدار الأولي العام على مثيل SQL Managed مع بعض القيود:
    • يمكن وضع جميع أنواع المشاركين في النسخ المتماثل (الناشر، والموزع، والمشترك بالسحب، والمشترك الفوري) في مثيل SQL Managed، ولكن يجب أن يكون الناشر والموزع إما في السحابة وإما كليهما محلياً.
    • يمكن لـ مثيل SQL Managed التواصل مع الإصدارات الحديثة من SQL Server. راجع مصفوفة الإصدارات المدعومة للحصول على مزيدٍ من المعلومات.
    • يحتوي النسخ المتماثل للمعاملات على بعض متطلبات الشبكات الإضافية.

لمزيد من المعلومات حول تكوين النسخ المتماثل للمعاملات، راجع البرامج التعليمية التالية:

عبارة RESTORE

  • بناء الجملة المدعوم:
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • بناء جملة غير مدعوم:
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • ‏‏المصدر:
    • FROM URL (تخزين Azure Blob) هو الخيار الوحيد المدعوم.
    • FROM DISK/TAPE/ جهاز النسخ الاحتياطي غير مدعوم.
    • مجموعات النسخ الاحتياطي غير مدعومة.
  • WITHمن الخيارات غير مدعومة. ستفشل محاولات الاستعادة بما في ذلكWITHمثلDIFFERENTIALوSTATSوREPLACE وما إلى ذلك.
  • ASYNC RESTORE: تستمر الاستعادة حتى إذا انقطع اتصال العميل. في حالة انقطاع الاتصال، يمكنك التحقق من عرضsys.dm_operation_status لحالة عملية الاستعادة وقاعدة بيانات CREATE وDROP. راجعsys.dm_operation_status.

يتم تعيين خيارات قاعدة البيانات التالية أو تجاوزها ولا يمكن تغييرها لاحقاً:

  • NEW_BROKERإذا لم يتم تمكين الوسيط في ملف .bak.
  • ENABLE_BROKERإذا لم يتم تمكين الوسيط في ملف .bak.
  • AUTO_CLOSE=OFFإذا كانت قاعدة البيانات في ملف .bak تحتوي علىAUTO_CLOSE=ON.
  • RECOVERY FULL إذا كانت قاعدة البيانات في ملف .bak بها SIMPLEأوBULK_LOGGED وضع الاسترداد.
  • تتم إضافة مجموعة ملفات مخصصة للذاكرة وتسمى XTP إذا لم تكن موجودة في ملف .bak المصدر.
  • تتم إعادة تسمية أي مجموعة ملفات محسّنة للذاكرة إلى XTP.
  • يتم تحويل خياراتSINGLE_USERوRESTRICTED_USERإلىMULTI_USER.

القيود:

  • قد تتم استعادة النسخ الاحتياطية لقواعد البيانات التالفة اعتماداً على نوع التلف، ولكن لن يتم إجراء النسخ الاحتياطية التلقائية حتى يتم إصلاح التلف. تأكد من تشغيلDBCC CHECKDBعلى المصدر مثيل Azure SQL Managed واستخدم النسخ الاحتياطيWITH CHECKSUM لمنع هذه المشكلة.
  • استعادة ملف قاعدة البيانات.BAK الذي يحتوي على أي قيود موصوفة في هذا المستند (على سبيل المثال، FILESTREAMأوFILETABLE عناصر) لا يمكن استعادتها في مثيل Azure SQL Managed.
  • لا يمكن استعادة.BAK من الملفات التي تحتوي على مجموعات نسخ احتياطي متعددة.
  • لا يمكن استعادة.BAK من الملفات التي تحتوي على ملفات سجلات متعددة.
  • لا يمكن استعادة النسخ الاحتياطية التي تحتوي على قواعد بيانات أكبر من 8 تيرابايت، أو عناصر OLTP النشطة في الذاكرة، أو عدد الملفات التي قد تتجاوز 280 ملفاً لكل مثيل على مثيل General Purpose.
  • لا يمكن استعادة النسخ الاحتياطية التي تحتوي على قواعد بيانات أكبر من 4 تيرابايت أو عناصر OLTP في الذاكرة بحجم إجمالي أكبر من الحجم الموضح في حدود الموارد في مثيل Business Critical. للحصول على معلومات حول بيانات الاستعادة، راجع عبارات الاستعادة.

هام

تنطبق نفس القيود على عملية الاستعادة المضمنة في نقطة زمنية. على سبيل المثال، لا يمكن استعادة قاعدة بيانات General Purpose الأكبر من 4 تيرابايت في مثيل Business Critical. لا يمكن استعادة قاعدة بيانات Business Critical التي تحتوي على ملفات OLTP في الذاكرة أو أكثر من 280 ملفاً في مثيل General Purpose.

Service broker

يتم دعم تبادل رسائل Cross-instance service broker فقط بين مثيلات SQL Managed:

  • CREATE ROUTE: لا يمكنك استخدامCREATE ROUTEمعADDRESSبخلافLOCALأو اسم DNS لمثيل SQL Managed. المنفذ دائماً 4022.
  • ALTER ROUTE: لا يمكنك استخدامALTER ROUTEمعADDRESSبخلافLOCALأو اسم DNS لمثيل SQL Managed. المنفذ دائماً 4022.

يتم دعم أمان النقل، بينما أمان الحوار ليس:

  • CREATE REMOTE SERVICE BINDINGغير مدعوم.

يتم تمكين Service broker افتراضياً ولا يمكن تعطيله. خيارات ALTER DATABASE التالية غير مدعومة:

  • ENABLE_BROKER
  • DISABLE_BROKER

الإجراءات والدوال والمشغلات المخزنة

  • NATIVE_COMPILATIONغير مدعوم في طبقة General Purpose.
  • خياراتsp_configure التالية غير مدعومة:
    • allow polybase export
    • allow updates
    • filestream_access_level
    • remote access
    • remote data archive
    • remote proc trans
    • scan for startup procs
  • يتم تجاهل خياراتsp_configure التالية وليس لها أي تأثير:
    • Ole Automation Procedures
  • sp_execute_external_scripts غير مدعوم. راجعsp_execute_external_script.
  • xp_cmdshell غير مدعوم. راجعxp_cmdshell.
  • Extended stored proceduresغير مدعوم، وهذا يشملsp_addextendedproc وsp_dropextendedproc. لن يتم دعم هذه الوظيفة لأنها على مسار إهمال لـ SQL Server. لمزيد من المعلومات، راجعالإجراءات المُخزنة المُوسَّعة.
  • sp_attach_dbوsp_attach_single_file_dbوsp_detach_dbغير مدعومة. راجعsp_attach_dbو sp_attach_single_file_db و sp_detach_db.

وظائف النظام والمتغيرات

تُرجع المتغيرات والدوال والعروض التالية نتائج مختلفة:

  • SERVERPROPERTY('EngineEdition')تعرض القيمة 8. تحدد هذه الخاصية بشكل فريد مثيل SQL Managed. راجع SERVERPROPERTY.
  • تقومSERVERPROPERTY('InstanceName')بإرجاع NULL لأن مفهوم المثيل كما هو موجود لـ SQL Server لا ينطبق على مثيل SQL Managed. راجعSERVERPROPERTY ("InstanceName").
  • @@SERVERNAME يرجع اسم DNS كامل "قابل للاتصال"، على سبيل المثال، my-managed-instance.wcus17662feb9ce98.database.windows.net. راجع @@SERVERNAME.
  • يُعيد SYS.SERVERS اسم كامل "قابل للاتصال" لنظام أسماء المجالات، مثلmyinstance.domain.database.windows.net للخصائص "name" و"data_source". راجع SYS.SERVERS.
  • تقوم@@SERVICENAME بإرجاع NULL لأن مفهوم الخدمة كما هو موجود في SQL Server لا ينطبق على مثيل SQL Managed. راجع @@SERVICENAME.
  • SUSER_IDمدعوم. ترجع NULL إذا لم يكن تسجيل الدخول إلى Azure AD موجوداً في sys.syslogins. راجعSUSER_ID.
  • SUSER_SID غير مدعوم. يتم إرجاع البيانات الخاطئة، وهي مشكلة مؤقتة معروفة. راجعSUSER_SID.

قيود البيئة

الشبكة الفرعية

  • لا يمكنك وضع أي موارد أخرى(على سبيل المثال، الأجهزة الظاهرية) في الشبكة الفرعية حيث قمت بنشر مثيل SQL Managed. انشر هذه الموارد باستخدام شبكة فرعية مختلفة.
  • يجب أن يكون لدى الشبكة الفرعية عدد كاف من عناوين IP المتوفرة. الحد الأدنى هو الحصول على 32 عنوان IP على الأقل في الشبكة الفرعية.
  • عدد vCores وأنواع المثيلات التي يمكنك نشرها في منطقة ما لها بعضالقيود والحدود.
  • هناكnetworking configuration يجب تطبيقه على الشبكة الفرعية.

شبكة ظاهرية

  • يمكن نشر شبكة ظاهرية باستخدام نموذج الموارد - النموذج الكلاسيكي لـ شبكة ظاهرية غير مدعوم.
  • بعد إنشاء مثيل SQL Managed، لا يتم دعم نقل مثيل SQL Managed أو شبكة ظاهرية إلى مجموعة موارد أخرى أو اشتراك.
  • بالنسبة لـ SQL Managed Instances المُستضافة في نُظم مجموعات ظاهرية تم إنشاؤها قبل 22 سبتمبر 2020، التناظر العالميغير مدعوم. يمكنك الاتصال بهذه الموارد عبر ExpressRoute أو VNet-to-VNet من خلال بوابات شبكة ظاهرية.

مجموعات تجاوز الفشل

لا تنسخ قواعد بيانات النظام إلى مثيل ثانوي في مجموعة تجاوز الفشل. لذلك، ستكون وحدات السيناريو التي تعتمد على كائنات من قواعد بيانات النظام غير ممكنة على مثيل ثانوي ما لم تُنشأ الكائنات يدويا على الثانوي.

TEMPDB

  • لا يمكن أن يكون الحد الأقصى لحجم ملف قاعدة بيانات النظام tempdb أكبر من 24 جيجابايت لكل مركز على مستوى General Purpose. الحد الأقصى للحجمtempdb على مستوى الأعمال الحرجة مقيد بحجم تخزين مثيل SQL Managed. Tempdbحجم ملف السجل محدد بـ 120 جيجا بايت في طبقة General Purpose. قد تعرض بعض الاستعلامات خطأ إذا كانت تحتاج إلى أكثر من 24 جيجابايت لكل ذاكرة أساسية فيtempdb أو إذا كانت تنتج أكثر من 120 جيجابايت من بيانات السجل.
  • يتم دائماً تقسيمTempdb إلى 12 ملف بيانات: 1ملف بيانات أساسي، ويسمى أيضاً ملف بيانات رئيسي، و11 ملف بيانات غير أساسي. لا يمكن تغيير بنية الملف ولا يمكن إضافة ملفات جديدة إلىtempdb.
  • Memory-optimizedtempdbبيانات التعريف، وهي ميزة جديدة لقاعدة بيانات الذاكرة في SQL Server 2019، غير مدعومة.
  • لا يمكن إنشاء العناصر التي تم إنشاؤها في قاعدة بيانات النموذج تلقائياً فيtempdb بعد إعادة التشغيل أو تجاوز الفشل لأنtempdb لا يحصل على قائمة العناصر الأولية من قاعدة بيانات النموذج. يجب إنشاء عناصر فيtempdb يدوياً بعد كل إعادة تشغيل أو تجاوز فشل.

MSDB

يجب أن تكون مخططات MSDB التالية في قاعدة بيانات النظام msdbفي مثيل SQL Managed Instance مملوكة لأدوارها المحددة مسبقاً:

هام

سيؤثر تغيير أسماء الأدوار المحددة مسبقاً وأسماء المخططات ومالكي المخطط بواسطة العملاء على التشغيل العادي للخدمة. سيتم إرجاع أي تغييرات يتم إجراؤها على هذه القيم إلى القيم المحددة مسبقاً بمجرد اكتشافها، أو في تحديث الخدمة التالي على أبعد تقدير لضمان تشغيل الخدمة العادي.

سجلات الخطأ

يضع مثيل SQL Managed معلومات مطولة في سجلات الأخطاء. هناك العديد من أحداث النظام الداخلية التي تم تسجيلها في سجل الأخطاء. استخدم إجراءً مخصصاً لقراءة سجلات الأخطاء التي تقوم بتصفية بعض الإدخالات غير ذات الصلة. لمزيد من المعلومات، راجع SQL Managed Instance - xp_readerrorlogأوSQL Managed Instance extension(preview) لـ Azure Data Studio.

الخطوات التالية