it-swarm.asia

ما هي أسباب الأعمال الموضوعية لتفضيل SQL Server 2012 على 2008 R2؟

تواجه شركتي القرار بشأن شراء SQL Server 2012 Denali أو SQL Server 2008 R2 لخادم قاعدة بيانات جديد. أنا أبحث عن أسباب موضوعية لاختيار واحد على الآخر.

متطلباتنا:

  • الإصدار القياسي (لأسباب مالية وعدم الحاجة إلى ميزات المؤسسة)
  • حمل عمل OLTP (هذا يعني أننا لسنا بحاجة إلى وظائف النوافذ الجديدة وفهارس مخزن الأعمدة)
  • حجم قاعدة البيانات 10-100 جيجا بايت
  • لا حاجة لميزات ذكاء الأعمال. مطلوب فقط المحرك العلائقي
  • النسخ المتطابق لقاعدة البيانات المتزامنة

حاليًا ، الأسباب التالية معروفة لي:

SQL Server 2012 دينالي

  • أحدث نسخة متاحة

SQL Server 2008 R2

  • تكنولوجيا مجربة

لا يمكنني أن أجد الكثير من الأسباب الفنية لأفضل أحدهما على الآخر. في الأساس ، يتعلق الأمر باختيار التكنولوجيا المثبتة التي تعمل بنجاح مقابل الإصدار الأحدث والأكبر المتاح.

ما هي الأسباب الموضوعية لاتخاذ القرار؟

50
usr

الجميع متحمسون بشأن AlwaysOn و ColumnStore ، ولكن العديد من مزايا SQL Server 2012 ليست حصرية للإصدارات المتطورة. لا أريد أن أبدو كمتحدث ، ولكنني قدمت الكثير من العروض التقديمية على SQL Server 2012 وأعتقد أن لديها الكثير لتقدمه في أي إصدار يناسبك.

  • قواعد بيانات تحتوي جزئيًا والتي تسمح لك بنقل قواعد البيانات بين الخوادم أو البيئات مع عدد أقل من القيود (أي تسجيلات الدخول على مستوى الخادم و تبعيات ترتيب الخادم - ستتعامل الإصدارات المستقبلية مع العناصر الشائكة مثل الخوادم المرتبطة ووظائف الوكيل).

  • إدارة الاستوديو هي الآن أداة أفضل بكثير ، تتماشى مع Visual Studio. إن IntelliSense أفضل ، كما أن مجموعة كاملة من الميزات الأخرى تجعل التحرير أسهل. الآن بالطبع يمكنك الحصول على 2008 R2 على الخادم الخاص بك واستخدام إصدار 2012 من SSMS ، لكنني لست متأكدًا من كيفية عمل ذلك من ناحية الترخيص ، وبعض المتاجر لا تريد إصدارات مختلطة (أفضل استخدام أحدث الأدوات على محطة العمل الخاصة بي حتى لإدارة الخوادم ذات المستوى الأدنى). قمت بالتدوين حول التغييرات في وقت مبكر ، عندما لا تزال هناك أخطاء ، لذا يرجى تجاهل السلبيات حيث يتم إصلاح معظمها أو جميعها اعتبارًا من RTM. أرتجف الآن عندما يتعين علي استخدام إصدار سابق من SSMS.

  • تحسينات البيانات الوصفية تسمح لك بفحص نتائج الكائنات والاستعلامات المؤقتة ، كما تسمح لك بتشكيل ناتج الاستعلامات بشكل أفضل .

  • أدوار الخادم المخصصة تسمح لك بتحديد مجموعة من التفاصيل الأكثر دقة للمستخدمين على مستوى الدور بدلاً من منح/إبطال واحدة تلو الأخرى ، أو الاستسلام للتعقيد وإعطائهم مسؤول النظام.

  • FileTable يتيح لك إدارة مجلد مثل جدول المستندات ، ولكن لا يزال لديك تحكم خارجي في المحتويات (لذلك تخيل القدرة على القيام بذلك باستخدام T-SQL ، وتخيل مدى صعوبة القيام بذلك في cmd أو PowerShell: UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';) ... أعتقد أن FileStream يلتقي بنظام WinFS ويحصل على بعض إمكانية التشغيل.

  • تحسينات T-SQL تتيح لك القيام بالعديد من الأشياء التي كانت مؤلمة في الإصدارات السابقة:

    • THROW (فكر في الأمر على أنه إعادة زيادة)
    • OFFSET/FETCH (أبسط ، ترحيل قياسي من ANSI)
    • SEQUENCE (آلية هوية مركزية ، مثل Oracle)
    • تحسينات اللف/التأطير (أشياء مختلفة هنا ، مثل أداء إجماليات التشغيل الرائعة)
    • IIF()/CHOOSE()/CONCAT()/ EOMONTH()
    • منشئو التاريخ/الوقت (على سبيل المثال DATETIMEFROMPARTS) مشابهون لـ DateSerial في VB
    • PARSE()/ FORMAT() - مثل نظيراتها .NET
    • TRY_CONVERT()/TRY_PARSE() - الإرجاع NULL إذا CONVERT/PARSE فشل
  • الأحداث الموسعة لديها واجهة مستخدم محسنة للتكوين/العرض ، وأخيرًا تغطي وظائف التتبع/التدقيق بالكامل (بما في ذلك تتبع السببية بشكل أفضل).

  • الكثير من DMVs الجديدة ، إجراءات النظام وتحسينات ShowPlan للتشخيص واستكشاف الأخطاء وإصلاحها. ألقِ نظرة أيضًا على ما تطلق عليه CSS " The Black Box Recorder ."

  • Server Core يسمح لك بالتشغيل على خادم عاري الحد الأدنى بدون جميع مكونات واجهة المستخدم (مساحة سطح أصغر تعني أنه أكثر آمنة وقليلة الصيانة نظرًا لأن أجزاء أقل من نظام التشغيل تخضع لتحديث Windows).

  • البحث عن نص كامل يحصل على بعض تحسينات الأداء الأساسية المهمة ، بالإضافة إلى البحث الدلالي (فكر في الكلمات الرئيسية) والقرب القابل للتخصيص/NEAR.

  • لم يعد AWE مدعومًا ، مما يعني أن مثيل SQL Server الخاص بك على x86 مع 32 جيجابايت من RAM سيكون قادرًا فقط لاستخدام 4 جيجا بايت - لذا سيكون لديك في النهاية الدافع للتخلص من الأجهزة القديمة 32 بت.

62
Aaron Bertrand

ما يلي هو مجرد أمثلة قليلة بشأن "أدلة فعلية على أو ضد الموثوقية في الإصدار الأول من أي إصدار جديد" ، على النحو المطلوب. لا يُقصد بهذا أن يكون تحليلًا كاملاً ، بل اقتراحًا لما قد ترغب في البحث عنه.

يمكنك البحث في Google عن "قائمة المشكلات التي يتم إصلاحها بواسطة SQL Server 2008 Service Pack 1" و "قائمة المشكلات التي يتم إصلاحها بواسطة SQL Server 2008 Service Pack 3" على موقع MSDN على الويب. قارن عدد وشدة المشاكل في كلتا القائمتين. القائمة الأولى للمنظمة البحرية الدولية أطول ، ولديها المزيد من العناصر التي يمكن أن تدمر يومي ، مثل:

  • رسالة خطأ عند الاتصال بمثيل مسمى لـ SQL Server على جهاز كمبيوتر عميل يعمل بنظام التشغيل Windows Vista أو Windows Server 2008
  • يتخطى وكيل قارئ السجل بعض المعاملات عند تشغيل عامل قارئ السجل لنسخ المعاملات
  • رسالة خطأ عند تشغيل استعلام يتضمن عملية صلة خارجية في SQL Server 2008
  • ظهور رسالة خطأ عند تنفيذ عملية تحديث أو حذف على جدول لا يحتوي على فهرس مجمع تم إنشاؤه في SQL Server 2008
  • استعلام يستخدم معلمات وخيار RECOMPILE بإرجاع نتائج غير صحيحة عند تشغيل الاستعلام في اتصالات متعددة بشكل متزامن في SQL Server 2008

دعونا ننقل إلى مستوى آخر وننظر في أمر واحد فقط ، هو MERGE. تم إصداره كجزء من SQL 2008 مع العديد من المشاكل الموضحة في الروابط التالية:

على هذا النحو ، في وقت الإصدار الأصلي لـ SQL 2008 ، قررت عدم استخدام MERGE. أنا أستخدم MERGE كثيرًا الآن ، في 2008 R2 ، وأعتقد أنها ميزة رائعة حقًا.

تحرير: إليك قائمة العيوب في SQL 2012 التي تم إصلاحها مؤخرًا . آمل أن يساعد.

تعديل آخر: لقد اخترت MERGE لتحليل أكثر تفصيلاً ، لأنه تحسن مهم للغاية. في الواقع ، إنها خطوة رئيسية في اللحاق بـ Oracle ، كما أنها تحسن إنتاجيتنا. على هذا النحو ، تم تسويق MERGE كثيرًا في وقت إصدار SQL 2008. ومع ذلك ، لم تكن جاهزة تمامًا للاستخدام في أنظمة الإنتاج الجادة عندما تم إصدارها في الأصل ، ولم تكن هناك طريقة سهلة لمعرفة ذلك من العروض/المقالات/مشاركات المدونة وما إلى ذلك.

وبالمثل ، فإن عزل اللقطة هو ميزة جديدة رائعة تعمل فقط ، ولكن استدعاء UDFs العددية في قيود التحقق لا يعمل في جميع الحالات وبالتالي لا ينبغي استخدامه في الإنتاج عندما نحتاج إلى تكامل البيانات. ومع ذلك ، تمت التوصية بالميزتين الجديدتين في العروض التقديمية "ما الجديد في SQL xxxx" ، وكذلك في الكتب والمقالات وما إلى ذلك ، وبنفس الحماس.

نحن بحاجة إلى توخي الحذر الشديد مع الميزات الجديدة - لن تكون جميعها مفيدة/موثوقة/مؤدية.

14
A-K

نقطة واحدة لم يتم ذكرها هنا ليست ذات صلة تمامًا بمجموعة الميزات. إذا كنت تقوم ببناء جديد ، فيمكنك تأجيل ترقية قاعدة البيانات لفترة أطول قليلاً ، لذلك سيوفر ذلك في تكاليف الترحيل.

بالنسبة لمشروع Greenfield ، لديك مساحة للتنفس للعمل حول الأخطاء ورفعها مع البائع إذا ظهر ، لذلك فهي ليست عملية غير خاضعة للرقابة تمامًا. لقد شاركت في أحد مشروعات مستودع البيانات الأولى على SQL Server 2005 تمامًا مثلما ذهبت إلى RTM وانطلقنا منه.

إذا كانت مجموعة الميزات الخاصة بـ 2008R2 ستفعل ما تريد ، فإن القرار يعود إلى بعض مخاطر الأخطاء/الحلول مقابل قيمة تأجيل ضرورة ترقية دورة الترقية وحفظها.

10
ConcernedOfTunbridgeWells

عندما تشتري جديدًا ، يكون الاختيار مختلفًا تمامًا عما هو عليه عندما تفكر في الترقية. شراء جديد ، أعتقد أنه يجب عليك دائمًا شراء أحدث إصدار يمكنك الحصول عليه. لن يكون إصدار 2008 مدعومًا في وقت أبكر بكثير من إصدار 2012. من الأفضل أن تبدأ جديدًا مع الأحدث لأنك ستستخدم هذه الواجهة الخلفية لفترة طويلة.

أما فيما يتعلق بالحاجة إلى حزمة الخدمة الأولى ، فسيتم طرحها قبل أن تعرفها ، وبما أنك تقوم بتطوير جديد ، فمن المحتمل ألا تؤثر المشاكل التي يتم إصلاحها عليك بقدر ما ستواجهه قاعدة البيانات القديمة التي تحتوي على ملايين السجلات.

الآن إذا كنت تحصل على خادم جديد فقط ولكنك تضع قاعدة بيانات قديمة عليه ، يصبح السؤال ما الذي تقوم بالترقية منه؟ إذا كانت قاعدة البيانات بالفعل قاعدة بيانات 2008 ، فسيكون استخدام نفس الإصدار أقل خطورة. إذا كنت تقوم بالترقية ، فتحقق لمعرفة ما إذا كان يمكنك الترقية مباشرة إلى 2012 من نسختك.

6
HLGEM