إصلاح: المساحة المستخدمة في زيادة قاعدة بيانات باستمرار عند تشغيل استعلام يقوم بإنشاء كائنات داخلية في قاعدة بيانات SQL Server 2005

الخطأ رقم: 50002301 (الإصلاح العاجل SQL)
تقوم Microsoft بتوزيع الإصلاحات Microsoft SQL Server 2005 كأحد الملفات القابلة للتحميل. لأن الإصلاحات التراكمي، كل إصدار جديد يحتوي على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة.

الأعراض

تشغيل استعلام يقوم بإنشاء كائنات داخلية في قاعدة بيانات في Microsoft SQL Server 2005. عند تشغيل الاستعلام عدة مرات، تزيد المساحة المستخدمة في قاعدة بيانات بشكل مستمر. وأخيراً، تصبح قاعدة بيانات كاملة. بالإضافة إلى ذلك، يجب إعادة تشغيل خدمة SQL Server لتنظيف قاعدة بيانات .

عند حدوث هذه المشكلة، يمكنك تشغيل العبارة التالية مقابل قاعدة بيانات عدة مرات.
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]
FROM sys.dm_db_file_space_usage;

إذا قمت بذلك، يزيد من قيمة العمود internal_object_reserved_page_count كل مرة تقوم فيها بتشغيل هذا البيان.

ثم، يمكنك الاستعلام عن عرض إدارة الحيوي sys.dm_db_session_space_usage. عند القيام بذلك، زيادة قيمة العمود internal_objects_alloc_page_count دون زيادة مقابلة في قيمة العمود internal_objects_dealloc_page_count.

السبب

كل مرة تقوم فيها بتشغيل الاستعلام، يقوم SQL Server بإنشاء كائنات داخلية في قاعدة بيانات . في بعض الحالات, SQL Server غير تخصيص الصفحات التي تم تخصيصها لكائنات داخلية في قاعدة بيانات .

الحل

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في 6 التحديث التراكمي. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2005 Service Pack 2، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
946608 التراكمية حزمة 6 تحديث ل SQL Server 2005 Service Pack 2
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة. توصي Microsoft بمراعاة تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
937137 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 2
يتم إنشاء الإصلاحات العاجلة ل Microsoft SQL Server 2005 لحزم خدمة SQL Server معينة. يجب تطبيق إصلاح عاجل SQL Server 2005 Service Pack 2 على تثبيت SQL Server 2005 Service Pack 2. بشكل افتراضي، يتم تضمين أي إصلاح جديد قد يتوفر في حزمة خدمـات لـ SQL Server في حزمة خدمـات لـ SQL Server التالية.

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

مزيد من المعلومات

لمزيد من المعلومات حول الحصول على قائمة كاملة من العمليات التي تستخدم كائنات داخلية، قم بزيارة مواقع Microsoft التالية على الويب:لتحديد دورة إشكالية معرفات (SPID) تخصيص صفحات في قاعدة بيانات ، يمكنك فحص تخصيص المخزن المؤقت الحلقي. للقيام بذلك، يجب أولاً تمكين تتبع العلامة 1106. بشكل افتراضي، لا يتم تمكين تتبع العلامة 1106. وبعد ذلك، يجب تشغيل العبارة التالية لعرض معلومات إلغاء تخصيص وتوزيع المعلومات في قاعدة بيانات .
SELECT record.value('(Record/@id)[1]', 'int') AS record_id,
CONVERT (varchar, DATEADD (ms, -1 * ((inf.cpu_ticks / inf.cpu_ticks_in_ms) - [timestamp]), GETDATE()), 126) AS EventTime,
[timestamp] ,
record.value('(Record/@id)[1]', 'int') AS RingBuffer_Record_Id,
record.value('(Record/ALLOC/Event)[1]', 'int') AS AllocationEventType,
record.value('(Record/ALLOC/SpId)[1]', 'int') AS SpId,
record.value('(Record/ALLOC/EcId)[1]', 'int') AS EcId,
record.value('(Record/ALLOC/PageId)[1]', 'nvarchar(50)') AS AllocatedPageId,
record.value('(Record/ALLOC/AuId)[1]', 'nvarchar(50)') AS AllocationUnitId,
record.value('(Record/ALLOC/LsId)[1]', 'nvarchar(50)') AS LsId
FROM sys.dm_os_sys_info inf CROSS JOIN (
SELECT timestamp, CONVERT (xml, record) AS record
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_ALLOC_TRACE'
AND ( record LIKE '%<Event>23</Event>%' -- uniform extent allocation
OR record LIKE '%<Event>22</Event>%' -- uniform extent deallocation
OR record LIKE '%<Event>24</Event>%' -- mixed extent allocation
OR record LIKE '%<Event>25</Event>%' -- mixed extent deallocation
OR record LIKE '%<Event>10</Event>%' -- page allocation
OR record LIKE '%<Event>11</Event>%' -- page deallocation
)) AS t
ORDER BY record.value('(Record/@id)[1]', 'int') ASC

يمكنك مقارنة هذه المعلومات بالمعلومات من "خادم SQL ملفات التعريف" لتحديد الاستعلامات التي تخصيص صفحات والتي غير تخصيص صفحات في قاعدة بيانات .

ملاحظة: نوصي بعدم استخدام إشارة تتبع 1106 على خوادم الإنتاج لإشارة تتبع 1106 يؤثر على أداء ملقم SQL.

لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
946608 التراكمية حزمة 6 تحديث ل SQL Server 2005 Service Pack 2

المراجع

لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد SQL Server Service Pack 2، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
937137 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 2
لمزيد من المعلومات حول "نموذج تقديم تزايدي" ل SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
935897 "نموذج تقديم تزايدي" يتوفر من فريق SQL Server لتسليم الإصلاحات العاجلة للمشاكل التي تم الإبلاغ عنها
لمزيد من المعلومات حول كيفية الحصول على SQL Server 2005 Service Pack 2، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
كيفية الحصول على أحدث حزمة خدمة ل SQL Server 2005 913089
لمزيد من المعلومات حول الميزات الجديدة والتحسينات في SQL Server 2005 Service Pack 2، قم بزيارة موقع Microsoft التالي على الويب:لمزيد من المعلومات حول مخطط التسمية لتحديثات SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
حزم تحديث مخطط تسمية جديدة 822499 لبرامج Microsoft SQL Server
لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقال التالي لعرضه في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft
خصائص

رقم الموضوع: 947204 - آخر مراجعة: 14‏/01‏/2017 - المراجعة: 1

تعليقات