3

特定の場所に定期的に SQL Server 全体 (SQL Server 2008 を使用) のバックアップを作成する方法があるかどうか疑問に思っていました。単一の特定のデータベースをバックアップできることはわかっていますが、使いやすく、新しいデータベースが必要になるたびにバックアップを設定する必要がないため、これを行う方法はありますか?

ただし、ある場合は、サーバーのバックアップから 1 つのデータベースだけを、個別にバックアップしたかのように簡単に復元する方法が必要です。

使用される方法は純粋なバックアップであり、違いはないため、複雑さを心配する必要はありません.

4

2 に答える 2

3

次のスクリプトを実行できます。@path 変数をデータベースを保存する場所に変更するだけです。

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 

SET @path = 'C:\Backup\'  

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 + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  

       FETCH NEXT FROM db_cursor INTO @name   
END   

CLOSE db_cursor   
DEALLOCATE db_cursor

から得られました:

http://www.mssqltips.com/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/

于 2012-05-22T10:00:40.093 に答える