吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1356|回复: 11
收起左侧

[求助] 小白求助 SQL serve 一个问题

[复制链接]
阿呆哥 发表于 2020-10-30 00:17
本帖最后由 阿呆哥 于 2020-10-30 00:18 编辑

SQL server 2008 怎么做批量备份数据库
本机上有60多个数据库 一个一个去备份 太麻烦了  

有没有办法批量备份

格式:数据库名.bak  全部备份到D盘bak文件夹

在线等  十万火急

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Lucifer_BW + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

EnterpriseSolu 发表于 2020-10-30 07:54
写个脚本,循环所有数据库,备份就好了啊
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
SET @path = 'C:\Backup\'  

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

DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name
FROM master.sys.databases
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
AND state = 0 -- database is online
AND is_in_standby = 0 -- database is not read only for log shipping

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
EnterpriseSolu 发表于 2020-10-30 07:56
再来个例子
DECLARE
        @database NVARCHAR(100),
        @backupoptions NVARCHAR(MAX),
        @dynamic_sql NVARCHAR(MAX),
        @backuppath NVARCHAR(MAX)

DECLARE backup_cursor CURSOR FAST_FORWARD FOR
SELECT name
        FROM sys.databases
        where database_id>4
        AND state_desc='ONLINE'

SET @backupoptions = ' WITH STATS=10,INIT '
SET @backuppath='E:\Ahmad\'
OPEN backup_cursor
FETCH NEXT FROM backup_cursor INTO @database

WHILE @@FETCH_STATUS=0
BEGIN
DECLARE @fullbackuppath nvarchar(max)=''
SET @fullbackuppath= @backuppath + @database + '_' + REPLACE(convert(varchar(12),getdate(),110),'-','_') + '.bak'
SET @dynamic_sql=' BACKUP database ' + @database + ' TO DISK= ''' + @fullbackuppath + '' + '''' + @backupoptions + ''
EXEC(@dynamic_sql)
FETCH NEXT FROM backup_cursor INTO @database
END

CLOSE backup_cursor
DEALLOCATE backup_cursor
莫利花 发表于 2020-10-30 07:58
janny82 发表于 2020-10-30 07:59
https://www.laoliang.net/cwrj/youyou/5499.html  我这里有个用友的批量备份,你可以瞅瞅~~
miocaro507 发表于 2020-10-30 08:25
加我QQ:2781890985
onlyw 发表于 2020-10-30 08:37
好多大神,
yingfeng 发表于 2020-10-30 08:42
装了SSMS,直接建一个备份的维护计划就行了,免敲代码。
lorzl 发表于 2020-10-30 08:58
8楼说的对,还能设置周期定期执行
qanholas 发表于 2020-10-30 09:17
新建维护计划,选数据库,选路径,保存,执行,不用关心脚本
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 11:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表