0

尝试备份数据库时遇到此错误:

“媒体集有 2 个媒体族,但只提供了 1 个。必须提供所有成员。”

请注意,这是备份而不是恢复。

RESTORE 有很多关于此错误的主题,但我没有找到任何有关 BACKUP 的主题。

我在 Sql Server 2005 上使用这个 T.SQL:

backup database dtplog
TO DISK='e:\dtplog.bak'

所以看起来 SQL Server 有某种设置,指定了该数据库的多个备份设备。

对于某些数据库,我没有收到此错误,但对于某些我有。

知道发生了什么吗?

4

1 回答 1

0

这仅适用于所有数据库备份

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
于 2012-10-13T11:01:34.727 回答