Web design and hosting, database, cloud and social media solutions that deliver business results
  • Бизнес решения
    • Веб-дизайн сайта
      • Безопасность веб-сайта
      • Остров Уайт
    • Бизнес-услуги
      • Microsoft Azure
    • Microsoft Office
    • Социальные медиа
  • Службы баз данных
    • Отчеты
      • Claytabase Server Disk IOPs Calculator
      • SQL-принтер
      • Восстановление кода SQL
    • Проверка телефонного номера в правильном формате Великобритании с SQL Server 2008
  • О нас
    • команда
      • Chester Copperpot
      • Гэвин Клейтон
    • Портфолио
  • Академия
    • Базы данных обучения
      • SQL-Server
      • В SQL Server 2008 план обслуживания
      • Использование SQL Server Pivot-Unpivot
      • Использование дат SQL Server
      • Использование функций SQL Server
    • Изучение веб-дизайна
      • ASP-NET
      • CSS
عربى (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 Политика в отношении файлов cookieКарта сайта

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
Настройки на этом сайте настроены так, что разрешены все файлы cookie. Их можно изменить на странице политики и настроек cookie. Продолжая использовать этот сайт, вы соглашаетесь на использование файлов cookie.
Ousia Logo
Logout
Ousia CMS Loader