SQLserver2008同时备份多个数据库
时间: 2023-08-11 18:09:47 浏览: 217
你可以使用 SQL Server Management Studio (SSMS) 或者 Transact-SQL (T-SQL) 语句来同时备份多个数据库。
使用 SSMS 备份多个数据库:
1. 打开 SSMS 并连接到 SQL Server 实例。
2. 在对象资源管理器中,右键单击“数据库”文件夹,并选择“任务” > “备份数据库”。
3. 在“备份数据库”对话框中,选择“多个数据库”选项。
4. 在“选择要备份的数据库”列表中,选择要备份的数据库。
5. 对于每个要备份的数据库,指定备份文件的路径和名称,以及备份类型和选项。
6. 单击“确定”按钮开始备份。
使用 T-SQL 备份多个数据库:
可以使用以下 T-SQL 语句备份多个数据库:
```
BACKUP DATABASE database1 TO DISK = 'C:\backup\database1.bak'
BACKUP DATABASE database2 TO DISK = 'C:\backup\database2.bak'
BACKUP DATABASE database3 TO DISK = 'C:\backup\database3.bak'
```
将以上语句复制到 SQL Server Management Studio 中的新查询窗口中,并执行即可。您可以根据需要修改备份文件的路径和名称,以及备份类型和选项。
相关问题
sqlserver 脚本同时备份多个数据库
在SQL Server中,可以使用Transact-SQL来编写脚本同时备份多个数据库。下面是一个示例脚本:
```
DECLARE @dbName VARCHAR(100) -- 存储数据库名
DECLARE @backupPath VARCHAR(100) -- 存储备份路径
DECLARE @backupFile VARCHAR(100) -- 存储备份文件名
DECLARE @sqlScript NVARCHAR(500) -- 存储备份脚本
SET @backupPath = 'C:\Backup\' -- 指定备份路径
SELECT name INTO #tempDBs FROM sys.databases -- 创建临时表存储数据库名
WHILE EXISTS (SELECT TOP 1 * FROM #tempDBs)
BEGIN
SELECT TOP 1 @dbName = name FROM #tempDBs
SET @backupFile = @backupPath + @dbName + '_' + REPLACE(CONVERT(VARCHAR,GETDATE(),120), ':', '_') + '.bak' -- 指定备份文件名
SET @sqlScript = 'BACKUP DATABASE ' + @dbName + ' TO DISK = ''' + @backupFile + ''' WITH FORMAT' -- 构建备份脚本
EXEC sp_executesql @sqlScript -- 执行备份脚本
DELETE FROM #tempDBs WHERE name = @dbName -- 从临时表中删除已备份的数据库
END
DROP TABLE #tempDBs -- 删除临时表
```
上述脚本中,首先创建了一个临时表用于存储所有数据库的名称。然后使用循环语句,依次获取临时表中的数据库名,并构建备份路径和文件名。接着使用`BACKUP DATABASE`语句执行备份操作,并通过`sp_executesql`存储过程执行动态生成的备份脚本。最后,删除已备份的数据库名记录,并清除临时表。
执行该脚本可以同时备份多个数据库,将备份文件保存在指定的备份路径中。注意,该脚本只是一个示例,实际使用时需要根据自己的需求进行修改和适配。
sql server 2012 同时备份几个database 脚本
在SQL Server 2012中,可以使用Transact-SQL脚本来同时备份多个数据库。以下是一个示例脚本:
```
DECLARE @DBName VARCHAR(100)
DECLARE @BackupPath VARCHAR(100)
DECLARE @BackupCommand VARCHAR(1000)
-- 设置备份路径
SET @BackupPath = 'C:\BackupFolder\'
-- 创建游标,获取所有数据库名称
DECLARE db_cursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE state_desc = 'ONLINE' -- 只选择在线的数据库
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DBName
WHILE @@FETCH_STATUS = 0
BEGIN
-- 构建备份命令
SET @BackupCommand = 'BACKUP DATABASE ' + @DBName + ' TO DISK = ''' + @BackupPath + @DBName + '.bak'' WITH FORMAT'
-- 执行备份命令
EXEC (@BackupCommand)
FETCH NEXT FROM db_cursor INTO @DBName
END
CLOSE db_cursor
DEALLOCATE db_cursor
```
上述脚本首先设置备份路径,然后使用游标获取所有在线的数据库名称。在循环中,构建备份命令并使用EXEC函数执行该命令。备份文件将以数据库名称命名,并保存在指定的备份路径下。
注意,这个脚本会依次备份每个数据库,并且会覆盖已存在的备份文件。如果需要保留多个备份,可以在备份文件名中添加时间戳或其他唯一标识。