مؤشرات الخطأ
اطّلع على السيناريو التالي:
-
لديك دالة SQL CLR في SQL Server 2016 و2017.
-
تستدعي الدالة CLR عبارات Transact-SQL من خلال استدعاءات انتحال الهوية، مثل عن طريق استدعاء عبارة EXECUTE AS.
في هذا السيناريو، يفشل التنفيذ، وتتلقى رسالة الخطأ التالية:
Msg 6522، المستوى 16، الحالة 1، الإجراء PrcedureName، السطر 0 [Batch Start LineNumber]
حدث خطأ .NET Framework أثناء تنفيذ روتين معرف من قبل المستخدم أو تجميع "ProcedureName":
System.Data.SqlClient.SqlException: الخادم الأساسي "LoginName" غير قادر على الوصول إلى قاعدة البيانات "DatabaseName" ضمن سياق الأمان الحالي.
الحل
يتم تضمين هذا الإصلاح في التحديث التراكمي 1 SQL Server 2017.
معلومات حزمة الخدمة SQL Server 2016
تم إصلاح هذه المشكلة في حزمة الخدمة التالية SQL Server:
حول إصدارات SQL Server 2017
يحتوي كل إصدار جديد SQL Server 2017 على جميع الإصلاحات العاجلة وإصلاحات الأمان التي كانت موجودة في الإصدار السابق. نوصي بتثبيت أحدث إصدار SQL Server 2017.
حزم الخدمة تراكمية. تحتوي كل حزمة خدمة جديدة على جميع الإصلاحات الموجودة في حزم الخدمة السابقة، بالإضافة إلى أي إصلاحات جديدة. توصيتنا هي تطبيق أحدث حزمة خدمة وآخر تحديث تراكمي لحزمة الخدمة هذه. ليس عليك تثبيت حزمة خدمة سابقة قبل تثبيت أحدث حزمة خدمة. استخدم الجدول 1 في المقالة التالية للعثور على مزيد من المعلومات حول أحدث حزمة خدمة وآخر تحديث تراكمي.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.