ssms SQLserver通过编写和执行T-SQL脚本来实现备份所有数据库实例

 
DECLARE @name VARCHAR(50) -- 数据库名称  
DECLARE @path NVARCHAR(255) -- 备份文件路径,根据实际情况修改
DECLARE @fileName NVARCHAR(255) -- 备份文件名
DECLARE @backupCommand NVARCHAR(2000) -- 备份命令

SET @path = 'C:\Backups\' -- 设置备份文件存放的基本路径

DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.sys.databases 
WHERE database_id > 4 AND state_desc = 'ONLINE' -- 排除系统数据库和非在线数据库

OPEN db_cursor  

FETCH NEXT FROM db_cursor INTO @name  

WHILE @@FETCH_STATUS = 0  
BEGIN  
    SET @fileName = @path + @name + '_' + CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak' -- 文件命名规则,可根据需要调整
    SET @backupCommand = 'BACKUP DATABASE ' + @name + ' TO DISK = N''' + @fileName + ''' WITH FORMAT;'
    
    EXEC sp_executesql @backupCommand -- 执行备份命令

    FETCH NEXT FROM db_cursor INTO @name  
END  

CLOSE db_cursor  
DEALLOCATE db_cursor

注意事项:

  • 修改@path变量的值为你的备份文件存放目录。
  • 确保SQL Server服务账户具有向指定备份路径写入文件的权限。
  • 此脚本会备份所有在线的用户数据库,不包括系统数据库(如master, model, msdb, tempdb)和处于离线状态的数据库。
  • 备份文件名中包含了备份日期,方便按日期管理备份文件。
  • 执行此脚本前最好在测试环境中先行验证,以防生产环境出现意外情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值