SQL Server 数据库备份还原常用SQL语句及注意

1.备份数据库

backup database db_name
to disk='d:db_name.bak'
with format

--通过使用with format可以做到覆盖任何现有的备份和创建一个新的媒体集。
--可以避免一些由于备份设置产生的错误.
--帮助文档上的解释:
--format指定应将媒体头写入用于此备份操作的所有卷。
--任何现有的媒体头都被重写。format选项使整个媒体内容无效,
--并且忽略任何现有的内容。

2.备份日志

backup log log_name
to disk='d:log_name.log'
with norecovery 

--备份日志的时候使用Norecovery是用来备份尾日志的,
--这样备份日志的时候数据库处于恢复状态,
--别的进程就不能再访问数据库,日志就不会再增加了,
--这样在还原的时候就可以正常恢复了。
--还原备份的时候如果想同时还原之后的日志,
--必须加上Norecovery才可以还原日志,如果有多个日志备份,
--除了最后一个日志备份外,还原其他日志必须也得加上Norecovery才可以还原到最后一个日志。
--归根结底只能说这是数据库的规定。

3.还原数据库
先让数据库离线
alter database db_name set offline with rollback immediate
再进行还原

restore database db_name
from disk='d:db_name.bak'
with replace 


注意:
1.备份前确定数据库已上线
2.还原前确定数据库已下线

4.数据库的离线和上线
离线(断开与其它用户的连接)

alter database db_name set offline with rollback immediate 

上线(开启与其它用户的连接)

alter database db_name set online  with rollback immediate
原文地址:https://www.cnblogs.com/wyhluckdog/p/10739131.html