Web design and hosting, database, cloud and social media solutions that deliver business results
  • خدمات مشاوره پایگاه داده
    • ابزارها
      • پشتیبان کد SQL
      • چاپگر SQL
    • مقالات فنی
      • استفاده از SQL Server Dates
      • استفاده از توابع سرور SQL
      • با استفاده از SQL Server Pivot-Unpivot
      • تعمیر و نگهداری سرور SQL
      • داده SQL سرور
  • راه حل های کسب و کار
  • طراحی وب سایت
    • جزیره وایت
    • مقالات فنی
  • خدمات شغلی
  • رسانه های اجتماعی
  • آکادمی
  • دربارهی ما
    • تیم
      • چستر Copperpot
      • سونیل کومار
    • نمونه کارها
عربى (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 تولید شده استفاده کنید و محتوای Stored Procedure را جایگزین کنید.

با استفاده از اسکریپت عمومی ، می توان پایگاه داده های منفرد را با استفاده از متغیرها بازیابی کرد ، به این معنی که می توانید دوباره از آن استفاده کنید.

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

اسکریپت قابل استفاده مجدد

این اسکریپت از تعدادی پارامتر استفاده می کند تا بتواند از جاهای دیگر فراخوانی شود ، بنابراین در صورت لزوم می توان دوباره از آن استفاده کرد و cross server نامید.

  • 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