اختلافات T-SQL بين خادم SQL & مثيل Azure SQL المُدار
ينطبق على: مثيل Azure SQL المُدار
تلخص هذه المقالة وتشرح الاختلافات في بناء الجملة والسلوك بين مثيل Azure SQL Managed وSQL Server.
يوفر المثيل المُدار SQL Managed توافقاً عالياً مع محرك قاعدة بيانات SQL Server، ويتم دعم معظم الميزات في مثيل SQL Managed.
توجد بعض قيود منصة العمل كخدمة التي تم تقديمها في مثيل SQL Managed وبعض التغييرات السلوكية مقارنة بـ SQL Server. تنقسم الاختلافات إلى الفئات التالية:
- يتضمنAvailability الاختلافات فيAlways On Availability Groups وbackups.
- يتضمنالأمانالاختلافات فيالتدقيق و الشهادات وبيانات الاعتماد و موفري التشفير و عمليات تسجيل الدخول والمستخدمين و مفتاح الخدمة ومفتاح الخدمة الرئيسي .
- يتضمنالتكوينالاختلافات في ملحق مجموعة المخزن المؤقت، و ترتيب، و مستويات التوافق، و النسخ المتطابق لقاعدة البيانات، خيارات قاعدة البياناتوSQL Server Agentوخيارات الجدول.
- تتضمنالدوالBULK INSERT / OPENROWSETووقت التشغيلوDBCCوالمعاملات الموزعةوالأحداث الممتدةوالمكتبات الخارجيةوتدفق الملفات وجدول الملفاتوالبحث الدلالي بالنص الكاملوالخوادم المرتبطةوPolyBaseوالنسخ المتماثلوRESTOREوMicrosoft SQL Server Service Brokerوالإجراءات والوظائف والمشغلات المخزنة.
- إعدادات البيئة مثل شبكة ظاهرية وتكوينات الشبكة الفرعية.
معظم هذه الميزات هي قيود معمارية وتمثل ميزات الخدمة.
المشاكل المؤقتة المعروفة التي تم اكتشافها في مثيل SQL Managed والتي سيتم حلها في المستقبل موضحة فيWhat's new?.
التوفر
مجموعات التوفر الدائم
قابلية الوصول العاليةمضمنة في مثيل مُدار للغة الاستعلامات المركبة ولا يمكن للمستخدمين التحكم فيها. العبارات التالية غير مدعومة:
- إنشاء نقطة النهاية ... من أجل DATABASE_MIRRORING
- إنشاء مجموعة توفر
- تبديل مجموعة قابلية وصول عالية التوفر
- مجموعة DROP AVAILABILITY
- عبارةSET HADRفي عبارةALTER DATABASE
نسخة احتياطية
يحتوي 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 الوصول إلى الملفات، لذلك لا يمكن إنشاء موفري التشفير:
-
CREATE CRYPTOGRAPHIC PROVIDER
غير مدعوم. راجعCREATE CRYPTOGRAPHIC PROVIDER. -
ALTER CRYPTOGRAPHIC PROVIDER
غير مدعوم. راجعALTER CRYPTOGRAPHIC PROVIDER .
تسجيلات الدخول والمستخدمين
يتم دعم عمليات تسجيل دخول 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 وتسجيل الدخول إليه باستخدام بيانات الاعتماد خاصتهم.
- في هذا التكوين، يتم إنشاء جميع مستخدمي Microsoft Azure Active Directory كأساسيات قاعدة بيانات SQL Server (مستخدمين) بدون تسجيلات دخول. يتم إدراج نوع المستخدمين كـ
- يتم دعم التكوينات التالية باستخدام ملف قاعدة بيانات bacpac:
يمكن فقط تسجيل الدخول الأساسي على مستوى الخادم، والذي تم إنشاؤه بواسطة عملية توفير مثيل 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 بمجرد تمكينه على مثيل.
أثناء المصادقة، يتم تطبيق التسلسل التالي لحل أساس المصادقة:
- إذا كان حساب Azure AD موجوداً كما تم تعيينه مباشرةً إلى خادم Azure AD الأساسي (تسجيل الدخول)، الموجود في
sys.server_principals
كنوع "E"، فامنح حق الوصول وطبق أذونات خادم Azure AD الأساسي (تسجيل الدخول). - إذا كان حساب Azure AD عضواً في مجموعة Azure AD التي تم تعيينها إلى خادم Azure AD الأساسي (تسجيل الدخول)، الموجود في
sys.server_principals
كنوع "X"، فامنح حق الوصول وطبق أذونات تسجيل الدخول إلى مجموعة Azure AD. - إذا كان حساب Azure AD موجوداً كما تم تعيينه مباشرةً لمستخدم Azure AD في قاعدة بيانات، والموجودة في
sys.database_principals
كنوع "E"، فامنح حق الوصول وطبق أذونات مستخدم قاعدة بيانات Azure AD. - إذا كان حساب Azure AD عضواً في مجموعة Azure AD التي تم تعيينها لمستخدم Azure AD في قاعدة بيانات، والموجودة في
sys.database_principals
كنوع "X"، فامنح حق الوصول وطبق أذونات مستخدم مجموعة Azure AD.
- إذا كان حساب Azure AD موجوداً كما تم تعيينه مباشرةً إلى خادم Azure AD الأساسي (تسجيل الدخول)، الموجود في
مفتاح الخدمة ومفتاح الخدمة الرئيسي
- النسخ الاحتياطي للمفتاح الرئيسيغير مدعوم (تتم إدارته بواسطة خدمة قاعدة بيانات SQL).
- لا يتم دعماستعادة المفتاح الرئيسي (تُدار بواسطة خدمة SQL Database).
- النسخ الاحتياطي لمفتاح الخدمة الرئيسي غير مدعوم (تُدار بواسطة خدمة قاعدة بيانات للغة الاستعلامات المركبة).
- استعادة مفتاح الخدمة الرئيسيغير مدعوم (تُدار بواسطة خدمة SQL Database).
التكوين
تمديد مجموعة المخزن المؤقت
- ملحق مجموعة المخزن المؤقتغير مدعوم.
-
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION
غير مدعوم. راجعALTER SERVER CONFIGURATION.
الترتيب
ترتيب النسخ الافتراضي هو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.
الجداول
أنواع الجداول التالية غير مدعومة:
- FILESTREAM
- FILETABLE
- جدول خارجي (باستثناء Polybase، في المعاينة)
- MEMORY_OPTIMIZED (غير مدعوم فقط في طبقة الأغراض العامة)
للحصول على معلومات حول كيفية إنشاء الجداول وتعديلها، راجع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، لذلك يتم تطبيق القيود التالية:
- يتم دعم
CREATE ASSEMBLY FROM BINARY
فقط. راجعCREATE ASSEMBLY FROM BINARY. -
CREATE ASSEMBLY FROM FILE
غير مدعوم. راجعCREATE ASSEMBLY FROM FILE. -
ALTER ASSEMBLY
لا يمكنه الإشارة إلى الملفات. راجعALTER ASSEMBLY.
بريد قاعدة البيانات (db_mail)
- لا يمكن لـ
sp_send_dbmail
إرسال المرفقات باستخدام المعلمة@file_attachments. لا يمكن الوصول إلى نظام الملفات المحلي والمشاركات الخارجية أو تخزين Azure Blob من هذا الإجراء. - راجع المشاكل المعروفة المتعلقة بمعلمة
@query
والمصادقة.
DBCC
لا يتم دعم عبارات DBCC غير الموثقة والممكّنة في SQL Server في مثيل SQL Managed.
- يتم دعم عدد محدود فقط من علامات التتبع العالمية. Session-level
Trace 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. راجع مصفوفة الإصدارات المدعومة للحصول على مزيدٍ من المعلومات.
- يحتوي النسخ المتماثل للمعاملات على بعض متطلبات الشبكات الإضافية.
لمزيد من المعلومات حول تكوين النسخ المتماثل للمعاملات، راجع البرامج التعليمية التالية:
- النسخ المتماثل بين ناشر SQL MI ومشترك في SQL MI
- النسخ المتماثل بين ناشر SQL MI وموزع SQL MI ومشترك 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-optimized
tempdb
بيانات التعريف، وهي ميزة جديدة لقاعدة بيانات الذاكرة في SQL Server 2019، غير مدعومة. - لا يمكن إنشاء العناصر التي تم إنشاؤها في قاعدة بيانات النموذج تلقائياً في
tempdb
بعد إعادة التشغيل أو تجاوز الفشل لأنtempdb
لا يحصل على قائمة العناصر الأولية من قاعدة بيانات النموذج. يجب إنشاء عناصر فيtempdb
يدوياً بعد كل إعادة تشغيل أو تجاوز فشل.
MSDB
يجب أن تكون مخططات MSDB التالية في قاعدة بيانات النظام msdb
في مثيل SQL Managed Instance مملوكة لأدوارها المحددة مسبقاً:
- الأدوار العامة
- TargetServersRole
-
أدوار قاعدة البيانات الثابتة
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
-
أدوار DatabaseMail:
- DatabaseMailUserRole
-
أدوار خدمات التكامل:
- db_ssisadmin
- db_ssisltduser
- db_ssisoperator
هام
سيؤثر تغيير أسماء الأدوار المحددة مسبقاً وأسماء المخططات ومالكي المخطط بواسطة العملاء على التشغيل العادي للخدمة. سيتم إرجاع أي تغييرات يتم إجراؤها على هذه القيم إلى القيم المحددة مسبقاً بمجرد اكتشافها، أو في تحديث الخدمة التالي على أبعد تقدير لضمان تشغيل الخدمة العادي.
سجلات الخطأ
يضع مثيل SQL Managed معلومات مطولة في سجلات الأخطاء. هناك العديد من أحداث النظام الداخلية التي تم تسجيلها في سجل الأخطاء. استخدم إجراءً مخصصاً لقراءة سجلات الأخطاء التي تقوم بتصفية بعض الإدخالات غير ذات الصلة. لمزيد من المعلومات، راجع SQL Managed Instance - xp_readerrorlogأوSQL Managed Instance extension(preview) لـ Azure Data Studio.
الخطوات التالية
- لمزيد من المعلومات حول مثيل SQL Managed، راجع ما هو مثيل SQL Managed؟
- للحصول على قائمة الميزات والمقارنة، راجعمقارنة ميزة مثيل Azure SQL Managed.
- للحصول على تحديثات الإصدار، راجعWhat's new?.
- للمشاكل والحلول البديلة والدقة، راجعالمشاكل المعروفة.
- للحصول على تشغيل سريع توضح كيفية إنشاء مثيل SQL Managed جديد، راجع إنشاء مثيل SQL Managed.