كيفية اكتشاف تمكين READ_COMMITTED_SNAPSHOT؟
-
09-06-2019 - |
سؤال
توجد في MS SQL Server طريقة لاكتشاف ما إذا كانت قاعدة البيانات قد تم تعيين مستوى عزلها عبر أمر T-SQL ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;
لا يمكنني العثور على طريقة بسيطة لاكتشاف ذلك في T-SQL أو عبر واجهة المستخدم الرسومية الخاصة بـ Management Studio.
تيا
المحلول
SELECT is_read_committed_snapshot_on FROM sys.databases
WHERE name= 'YourDatabase'
قيمة الإرجاع:
- 1:
READ_COMMITTED_SNAPSHOT
الخيار هو على.قراءة العمليات تحتREAD COMMITTED
يعتمد مستوى العزل على عمليات فحص اللقطات ولا يحصل على أقفال. - 0 (تقصير):
READ_COMMITTED_SNAPSHOT
الخيار هو عن.قراءة العمليات تحتREAD COMMITTED
استخدام مستوى العزل الأقفال المشتركة (S)..
نصائح أخرى
حسب https://msdn.microsoft.com/en-us/library/ms180065.aspx، "تقارير DBCC UserOptions عن مستوى عزل" قراءة لقطة ملتزمة "عندما يتم تعيين خيار قاعدة البيانات read_committ_snapshot على التشغيل ، ويتم تعيين مستوى عزل المعاملة على" قراءة ملتزمة ".يتم قراءة مستوى العزل الفعلي ملتزمًا."
أيضًا في SQL Server Management Studio، في خصائص قاعدة البيانات ضمن خيارات->متنوعة توجد حالة الخيار "هل تم قراءة اللقطة الملتقطة"
لا في SQL2005 ولا 2012 يفعل ذلك DBCC USEROPTIONS
يعرض is_read_committed_snapshot_on
:
Set Option Value
textsize 2147483647
language us_english
dateformat mdy
datefirst 7
lock_timeout -1
quoted_identifier SET
arithabort SET
ansi_null_dflt_on SET
ansi_warnings SET
ansi_padding SET
ansi_nulls SET
concat_null_yields_null SET
isolation level read committed