أي أداة / تقنية: إدارة النظام لقواعد البيانات والخدمات المعتمدة
-
26-09-2019 - |
سؤال
متابعة على هذا سؤال إدارة النظام:
لأنني ربما لن أتلقى الكثير من التعليقات ServerFault سأجربها هنا.
شاغلي الرئيسي هو عكس التبعيات بين قواعد البيانات ، والخدمات ANS مهام/الوظائف التي سيتعين علي إدارتها.
إلى جانب النظر في PowerShell ، فكرت في استخدام MSBuild لأنه سيسمح بنمذجة التبعيات وإعادة استخدام أهداف التكوين.
بعبارات أخرى: ما هي التكنولوجيا التي يجب أن أستخدمها لتطوير حل مرن يسمح لي بإيقاف الخدمة A و B و C على الجهاز D بالترتيب الصحيح وتعطيل المهمة E على الجهاز F عند إزالة قاعدة البيانات X؟
... وأرغب في إعادة استخدام الجزء لإيقاف الخدمة B و C عند إنزال قاعدة البيانات Y.
المحلول
إذا كنت على دراية بـ PowerShell وتريد العمل مع التبعيات ، فحاول PSAKE. ما يبدو عليه:
psake script.ps1:-------
properties {
$dbServer = 'sqlexpress'
...
}
task default -depend StopServer1, StopServer2
task StopS1 -depend MakeS1Backup, StopSqlServer1 {
...
}
task MakeS1Backup {
... make backup
}
task StopSqlServer1 {
stop-service ...
}
# and anything similar to StopServer2
ثم يمكنك تسميتها مثل هذا (هناك المزيد من الخيارات):
Invoke-Psake script.ps1
#or
Invoke-Psake script.ps1 -task StopS1 #calls only StopS1 task and all other scripts it depends on
#or
Invoke-Psake script.ps1 -task MakeS1Backup #only backups S1, it doesn't depend on anything else
ما يفعله - يوقف الخادم 1 (توقف المهمة 1) وقبل أن يعالج جميع المهام التي تتوقف 1. لذلك قبل إيقاف النسخ الاحتياطي S1 من S1 ويتم إيقاف SQL Server 1 وما إلى ذلك.
يعجبني أفضل بكثير من تكوين MSBuild ، وهو مطوّل للغاية وقبيح (على الرغم من أنه قوي جدًا).