2017-02-02 2 views
0

Wie kann ich Sicherungsdatei für alle ihre Datenbank erstellen, die auf ihrer SQL Server-Instanz verfügbar sind.So erstellen Sie alle Datenbanksicherung in einer einzigen Abfrage

+2

Ja alle .bak-Datei gespeichert werden soll - schön -?!? Und die ** Frage ist !! ** –

+0

Warum die Upvote und der Stern? – Himanshu

+1

Ich denke du bist verwirrt. Stackoverflow ist keine Code-Sharing-Plattform, sondern eine Q & A-Website. Wenn Sie Ihr Wissen teilen möchten, können Sie das gerne tun, indem Sie Fragen beantworten. In diesem Fall möchten Sie möglicherweise Ihren Post zu einer Frage bearbeiten und selbst beantworten. –

Antwort

0

Wenn jemand eine Sicherungsdatei für seine gesamte Datenbank erstellen möchte, die auf seiner SQL Server-Instanz verfügbar ist, können Sie diese gespeicherte Prozedur verwenden.

Sie haben diese gespeicherte Prozedur irgendwo zu erstellen und Ihren Weg geben, wo Sie

-- Use code for creating all database backup 
USE [master] 
GO 

CREATE PROCEDURE [dbo].[CreateDBBackup] --create this sp somewhere in your SQL Server 
AS 
BEGIN 
    DECLARE @name VARCHAR(50) -- database name 
    DECLARE @path VARCHAR(256) -- path for backup files 
    DECLARE @fileName VARCHAR(256) -- filename for backup 
    DECLARE @fileDate VARCHAR(20) -- used for file name 

    -- specify database backup directory location 
    SET @path = 'D:\Backup\' 

    -- specify filename format 
    SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 

    DECLARE db_cursor CURSOR FOR 
     SELECT name 
     FROM master.dbo.sysdatabases 
     WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb')  

    OPEN db_cursor 

    FETCH NEXT FROM db_cursor INTO @name 

    WHILE @@FETCH_STATUS = 0 
    BEGIN 
     SET @fileName = @path + @name + '.BAK' 

     BACKUP DATABASE @name TO DISK = @fileName 

     FETCH NEXT FROM db_cursor INTO @name 
    END 

    CLOSE db_cursor 
    DEALLOCATE db_cursor 
END 
Verwandte Themen