Web design and hosting, database, cloud and social media solutions that deliver business results
  • Geschäftslösungen
    • Robotische Prozessautomatisierung
    • Software
    • Datenbank-Beratungsdienste
      • Datawarehouse-Dienste
      • Datenintegration
      • PowerBI
      • Werkzeuge
    • Website Design
      • Weblokalisierung und -übersetzung
      • Website Sicherheit
    • Cloud Services
      • Microsoft Azure
    • Microsoft Office
    • Sozialen Medien
  • Akademie
    • Unsere Testumgebung
    • Datenbankdesign lernen
      • SQL Server 2008 Wartungsplan
      • Offene Abfrage abrufen
      • Verwenden von SQL Server Daten
      • Verwenden von SQL Server Datum
      • Verwenden von SQL Server Funktionen
      • Verwenden von SQL Server Pivot-Unpivot
    • Lern Web Design
      • ASP-NET
      • CSS
      • Verwendung von JavaScript
    • Lernen von IT-Diensten
      • Anfordern von SSL und Generierung von PFX-Datei in OpenSSL Simple Steps
  • Über
    • Bloggen
    • Karriere
    • Mannschaft
      • Adrian Ananda
      • Ali Al-Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Suneel Kumar
      • Surya Mukkamala
    • Mappe
عربى (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)

Ein dynamisches Skript zum Wiederherstellen der SQL Server-Datenbank aus einer gespeicherten Prozedur

Erstellen Sie mithilfe eines dynamischen SQL-Skripts eine zentralisierte, generische und wiederverwendbare gespeicherte Prozedur, mit der Datenbanken mithilfe einer Reihe von Parametern im Rahmen eines umfassenderen Wartungsplans wiederhergestellt werden können

Prozess

Stellen Sie DB.png wieder her

Der Prozess des Wiederherstellens einer Datenbank kann über SSMS per Skript ausgeführt werden. Wenn dies in einer gespeicherten Prozedur gespeichert wird, kann es von anderen verarbeiteten oder Servern aufgerufen werden und ist besonders nützlich als Teil eines zusammengefügten Wartungsplans.

Unten haben wir zwei Skripte erstellt.

Verwenden Sie mit dem einfachen Skript den aus SSMS generierten Code und ersetzen Sie den Inhalt der gespeicherten Prozedur.

Mit dem generischen Skript können einzelne Datenbanken mithilfe von Variablen wiederhergestellt werden, sodass Sie sie wiederverwenden können.

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

Wiederverwendbares Skript

Dieses Skript verwendet eine Reihe von Parametern, damit es von einer anderen Stelle aufgerufen werden kann. Es kann also wiederverwendet und bei Bedarf als serverübergreifend bezeichnet werden.

  • @dbname - Datenbankname, den Sie aufrufen möchten
  • @Directory_Bak - Ordner, in dem die Backups gespeichert sind
  • @Directory_Dat - Es ist am besten, Protokolldateien und Datenbankdateien auf verschiedenen Festplatten zu speichern. Dies ist also das Verzeichnis, in dem Sie es speichern möchten
  • @Directory_Log - Verwenden Sie wie oben beschrieben ein separates Verzeichnis für Ihre Protokolldatei
  • @Directory_Stand - Dies wurde unter Berücksichtigung des Protokollversands entwickelt, sodass hiermit eine Wiederherstellung von Ihrer Hauptdatenbank in die Berichtsdatenbank durchgeführt werden kann

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

Autor

Helpful?

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

Registered in England and Wales 08985867

RSSLoginLink Cookie-RichtlinieSeitenverzeichnis

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
Die Einstellungen auf dieser Seite sind so eingestellt, dass alle Cookies zulässig sind. Diese können auf unserer Cookie Policy & Settings Seite geändert werden. Wenn Sie diese Seite weiter nutzen, stimmen Sie der Verwendung von Cookies zu.
Ousia Logo
Logout
Ousia CMS Loader