سؤال

نحن نخطط لتنفيذ مجموعة SQL Server 2005 في الأشهر القليلة المقبلة. أردت أن أعرف ما هي الخطوات / الاحتياطات التي يجب اتخاذها كمطور قاعدة بيانات عند محاولة تحقيق ذلك؟ هل نحتاج إلى تغيير أي رمز ADO.NET (في الواجهة الأمامية) / Procs المخزنة، إلخ؟ هل هناك أفضل الممارسات التي يتعين اتباعها؟

السبب في أنني أسأل هذا السؤال هو: لموازنة تحميل ASP.NET، عليك التأكد من رمزك للجلسات / التطبيق / ذاكرة التخزين المؤقت بالكامل مع بيئة تحميل متوازنة. (لذلك تقوم Incase باستخدام جلسات InProC، عليك إعادة كتابة هذا الرمز بحيث يعمل على تحميل بيئة متوازنة). الآن هذا على مستوى خادم الويب الخاص بك. أردت فقط أن أفعل الأشياء الصحيحة عند محاولة التوسع في مستوى خادم قاعدة البيانات

أنا آسف إذا كان هذا السؤال غبي. يرجى عذير معرفتي المحدودة حول هذا الموضوع :-)

هل كانت مفيدة؟

المحلول

يجب عليك عدم إجراء أي تغييرات نهاية أمامية لتنفيذ كتلة SQL Server، تقوم ببساطة بالاتصال بمثيل SQL Server كالمعتاد.

لا يقوم SQL Server Scoverover Clustering بتحميل التوازن. يتم استخدامه لإضافة التكرار إذا فشل أي أجهزة على عقدة أساسية. لا تقوم عقدةك الأخرى (الثانوية) بأي شيء حتى يفشل الأساسيات، وفي هذه الحالة يحدث الفشل تلقائيا وقاعدة البيانات الخاصة بك تخدم الاتصالات مرة أخرى بعد تأخير 10-20 ثانيا.

مشكلة أخرى هي ذاكرة التخزين المؤقت على العقدة الثانوية فارغة، لذلك قد ترى بعض تأثير الأداء بعد تجاوز الفشل. يمكنك تطبيق ذاكرة التخزين المؤقت "الدافئة" على خادم المرآة باستخدام قاعدة بيانات SQL Server النسخ المتطابق, ولكن لا توجد وسيلة لفعل شيء مماثل مع التجميع.

نصائح أخرى

تجميع قاعدة البيانات يختلف عن تحميل الموازنة. انها توافر عال، وليس "التوسع"

في الأساس:

  • 2 خوادم (أو العقد) مع الأقراص المشتركة (التي لا يمكن أن تملكها إلا عقدة واحدة في أي وقت)
  • واحد هو "نشط" تشغيل خادم Windows Virtual و SQL Server
  • واحد يراقب الآخر ("السلبي")
  • تقوم بالاتصال بخادم Windows الظاهري.

إذا خرج العقدة 1 خارج الخط، تولى عقدة 2. أو يمكن أن تفشل يدويا.

هذا يعني: يتم إيقاف تشغيل الخدمات على العقدة 1، تتحكم العقدة 2 في الأقراص والخدمات وتبدأ. سيتم كسر أي اتصالات، ولا يتم نقل أي دولة أو جلسة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top