إنقاص الأداء عند تشغيل عبارة SELECT... في الاستعلام بعد الترقية إلى SQL Server 2012 والإصدارات الأحدث

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

اضغط هنا لرابط المقالة باللغة الانجليزية3144525
الأعراض
بعد الترقية من إصدار سابق أو Microsoft SQL Server 2008 R2 إلى SQL Server 2012 أو إصدار أحدث، قد تلاحظ أنتحديد... في الاستعلامات التي تحتوي على دالات معرفة من قبل المستخدم وقتاً أطول لإكمال من الإصدارات السابقة.
السبب
تحدث هذه المشكلة نظراً لتحديد هذا ... في التي تحتوي على دالات معرفة من قبل المستخدم (UDFs) عمليات تسجيل كامل ويستغرق وقتاً أطول لإتمام في SQL Server 2012 والإصدارات الأحدث.

ملاحظة: حدد أي... في التي تحتوي على دالات معرفة من قبل المستخدم يتم عمليات تسجيل الحد الأدنى في الإصدارات السابقة (SQL Server 2008 R2 والإصدارات السابقة). تم تقديم هذا التغيير للتأكد من سلامة البيانات، كما يمكن إجراء عمليات القراءة/الكتابة على نفس الكائن دالة معرفة من قبل المستخدم ويمكن أن يسبب تلف البيانات إذا تم تمكين التسجيل الحد الأدنى.
الحل البديل
إذا تم تحديد الدالات المعرفة من قبل المستخدم التي يتم استخدامها في ... في كشف عدم إجراء أية عمليات الوصول إلى البيانات، يمكنك تحديد عبارة SCHEMABINDING للدالات المعرفة من قبل المستخدم الذي سيتم تعيين الخاصية أوسيرداتاكسيس المشتقة لتلك الدالات المعرفة من قبل المستخدم إلى 0. بعد تغيير هذا، حدد ... في سيتم تسجيل البيانات الحد الأدنى. لمزيد من المعلومات، راجع العينة في المدونة للحصول على مثال حول استخدام SCHEMABINDING.

ملاحظة: إذا كانت لا تزال تشير العبارة دالة معرفة من قبل مستخدم واحد على الأقل يحتوي على هذه الخاصية معينة إلى 1، يتم تسجيل العملية تماما.
معلومات أخرى
نموذج التعليمات البرمجية التالي يوضح الفرق في السلوك بين SQL Server 2008 R2 و SQL Server 2012 أو 2014:

create database DB1gouse DB1gocreate function dbo.MyTrim (@name as varchar(100))returns varchar (100)asbeginreturn (RTRIM(ltrim(@name)))endgocreate table dbo.tab_prod (c1 int, c2 varchar(10))godeclare @a int set @a = 1while @a <= 100000begin insert into tab_prodvalues (@a , '  test ')set @a = @a + 1endbegin transelect  *,  dbo.mytrim(c2) as trimc2 into tab_test from tab_prod

يقارن الجدول التالي وقت وحدة المعالجة المركزية في تحديد عملية في SQL Server 2008 R2 مع ذلك 2014 ملقم SQL:

الإصداروقت التنفيذ (CPU time)
SQL Server 2008 R2719 ms
SQL Server 20141360 ms

يقارن الجدول التالي استخدام سجل المعاملة في تحديد عملية في SQL Server 2008 R2 مع ذلك 2014 ملقم SQL:

الإصداراسم قاعدة البياناتحجم الملف (ميغابايت)استخدام مساحة السجل (%)الحالة
SQL Server 2008 R2DB10.742187551.578950
SQL Server 2014DB132.1796938.44380
ملاحظة هامة النتائج في هذه الجداول هي مجرد مثال للتغير في السلوك بين 2014 خادم SQL و SQL Server 2008 R2 ومحددة للغاية لبيئة المعمل الذي تم استخدامه لهذا الاختبار. فرق الأداء الفعلي في البيئة الخاصة بك تعتمد على الأجهزة التي يتم تشغيل مثيل SQL الخاصة بك.
ملاحظة هذه عبارة عن مقالة "للنشر العاجل" تم إنشاؤها مباشرةً من قِبل منظمة الدعم الخاصة بـ Microsoft. وتم توفير المعلومات الواردة بها كاستجابةً للمشكلات البارزة. وكنتيجة للاستعجال في إتاحة هذه المقالة، فقد تحتوى المواد الواردة بها على بعض الأخطاء المطبعية وقد يتم مراجعتها في أي وقت بدون إشعار بذلك. راجع شروط الاستخدام لمعرفة الاعتبارات الأخرى.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 3144525 - آخر مراجعة: 03/03/2016 22:44:00 - المراجعة: 1.0

Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3144525 KbMtar
تعليقات