Web design and hosting, database, cloud and social media solutions that deliver business results
  • حلول الأعمال
    • خدمات قاعدة البيانات
      • أدوات
    • تصميم الموقع
      • جزيرة وايت
    • الخدمات السحابية
    • وسائل الاعلام الاجتماعية
  • الأكاديمية
    • تعلم قاعدة البيانات
      • استخدام SQL Server Pivot-Unpivot
      • استخدام وظائف خادم SQL
      • باستخدام SQL Server التواريخ
      • باستخدام بيانات SQL
      • صيانة خادم SQL
    • تعلم تصميم المواقع
  • معلومات عنا
    • الفريق
      • تشيستر كوبربوت
      • جافين كلايتون
      • سونيل كومار
      • علي الأمين
    • محفظة
    • مقالات
    • وظائف
عربى (AR)čeština (CS)Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

برنامج نصي ديناميكي لاستعادة قاعدة بيانات SQL Server من إجراء مخزن

إنشاء إجراء مخزن مركزي ، عام وقابل لإعادة الاستخدام باستخدام برنامج نصي SQL ديناميكي يمكنه استعادة قواعد البيانات باستخدام عدد من المعلمات كجزء من خطة صيانة أوسع

معالجة

استعادة DB.png

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

أدناه قمنا بإنشاء نصين.

باستخدام البرنامج النصي البسيط ، استخدم الكود الذي تم إنشاؤه من SSMS واستبدل محتوى الإجراء المخزن.

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

Simple Script

USE [utilities]GOCREATE PROC [maint].RestoreDatabase_{dbname} AS BEGINRESTORE DATABASE [dbname] FROM DISK=N'c:\backupfolder\{dbname}.bak' WITH FILE= 1,MOVE N'{dbname}' TO N'd:\database\{dbname}.mdf',MOVE N'{dbname}_log' TO N'e:\database\{dbname}.ldf',NOUNLOAD, REPLACE, STATS= 10,STANDBY=N'e:\database\ROLLBACK_UNDO_{dbname}.bak'ENDGO

نص قابل لإعادة الاستخدام

يستخدم هذا البرنامج النصي عددًا من المعلمات لتمكين استدعاؤه من مكان آخر ، لذلك يمكن إعادة استخدامه وتسميته عبر الخادم إذا لزم الأمر.

  • dbname - اسم قاعدة البيانات التي تريد استدعاؤها
  • Directory_Bak - المجلد حيث يتم تخزين النسخ الاحتياطية
  • Directory_Dat - من الأفضل الاحتفاظ بملفات السجل وملفات قاعدة البيانات على أقراص مختلفة ، لذلك هذا هو الدليل الذي تريد تخزينه عليه
  • Directory_Log - كما هو مذكور أعلاه ، استخدم دليلاً منفصلاً لملف السجل الخاص بك
  • Directory_Stand - تم تطوير هذا مع وضع شحن السجل في الاعتبار ، لذلك يمكن استخدام هذا لإجراء استعادة من قاعدة البيانات الرئيسية إلى قاعدة بيانات التقارير

SQL

USE [utilities]GOCREATE PROC [maint].RestoreDatabase(@dbname NVARCHAR(100),@Directory_Bak NVARCHAR(100),@Directory_Dat NVARCHAR(100),@Directory_Log NVARCHAR(100),@Directory_Stand BIT) AS BEGINDECLARE @SQL NVARCHAR(MAX)='RESTORE DATABASE ['+@dbname+'] FROM DISK=N'''+@Directory_Bak+''+@dbname+'.bak'' WITH FILE= 1,MOVE N'''+@dbname+''' TO N'''+@Directory_Dat+@dbname+'.mdf'',MOVE N'''+@dbname+'_log'' TO N'''+@Directory_Log+@dbname+'.ldf'',NOUNLOAD, REPLACE, STATS=10'--Standby CodeIF ISNULL(@Directory_Bak,'')<>''SET @SQL=@SQL+',STANDBY=N'''+@Directory_Stand+'ROLLBACK_UNDO_'+@dbname+'.bak'''EXEC master..sp_executesql @SQLENDGO

مؤلف

Helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink سياسة ملفات الارتباطخريطة الموقع

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
The settings on this site are set to allow all cookies. These can be changed on our Cookie Policy & Settings page.
By continuing to use this site you agree to the use of cookies.
Ousia Logo
Logout
Ousia CMS Loader