1.在对应C盘目录新建文件夹,命名为Database_Backup
GO
DECLARE
@backupTime VARCHAR(20)
DECLARE
@fileName VARCHAR(1000)
SELECT
@backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))
SELECT
@fileName='C:\Database_Backup\DB_'+@backupTime+'.bak'
backup database 你的数据库名称 to disk=@fileName
2.可以在Master直接执行,这会生成一个bak文件,是你要的备份。
写一个批处理文件,命名为backup_database.bat ,我们也把它放在 C:\Database_Backup下。
sqlcmd -S . -i C:\Database_Backup\backup.sql
(bat文件可以双击执行,这里执行的是这个同级目录下的backup.sql文件)
3.然后新建一个Windows计划任务,定期(比如每天)执行此批处理命令。
这样就实现了每天备份数据库的需求。
然后有一个重点需要对新手说一下,
首先这个方法不能远程备份,也就是连接别的数据备份别的数据库是没有用的,
它只会备份你本地的bak文件,
另外还原也必须是本地的,
而且这个bak文件很大程度上是数据的备份,
我尝试过结构完全一样的数据库(仅数据不同),进行还原实验,好像是行不通的。
想要把数据库的所有内容备份下来的话,
最好选用生成数据库脚本的方式,
选择表,
在高级选项卡中,选择包括架构和数据,
确认,然后点击下一步直至完成。(完成之后到你保存的路径去找那个脚本文件,想还原数据的话,直接在Master执行脚本就行了)
这个脚本是在你完全没有数据库的情况下,快速克隆一个完全一样的数据库。
当然,这种方法按理说可以用新建查询的方式,做一个SQL文件,再写一个批处理文件对其执行的。
但现在没这个需求,先这样吧……
正式版本的SQL Server应该是有这样的计划任务的。