SQL server 如何用语句备份和还原数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server 如何用语句备份和还原数据相关的知识,希望对你有一定的参考价值。

就举个例子说明: 比如我要把一个名叫 MyDatabase 的数据库 备份到 D盘根目录,然后还原, 语句怎么写?

1、找到需要备份的数据库,右键单击选中的数据库,点击任务,再点击备份。

2、选择备份数据库的路径并点击确定。

3、备份完成后,点击菜单上的确定。

4、备份完成后,打开数据库界面,右键数据库选择还原数据库。

5、在当前界面找到刚才备份的文件,点击确定。

6、选中覆盖现有数据库复选框,点击确定,数据库开始还原。

7、此时就还原成功了,点击确定即可。

参考技术A

1、首先需要选择你要备份的数据库,鼠标右键单击,选择任务-备份。

2、弹出备份数据库窗口,选择添加。

3、弹出选择备份目标窗口,点击浏览。

4、选择存放备份数据库的目录,输入文件名,后缀名输入.bak,点击确定,备份完成。

5、鼠标右键单击数据库,选择还原文件和文件组。

6、目标数据库栏输入数据库名称,选中源设备,点击浏览选项。

7、然后需要点击添加。

8、选择你要还原的数据库,点击确定。

9、选中还原选项,点击确定,还原完成。

参考技术B sqlserver库如下
备份:
BACKUP DATABASE "mydb" TO DISK ='C:\mybak.db' with init
还原
use master
RESTORE DATABASE "mydb" FROM DISK='C:\mybak.db';
use mydb

[补充]
这两个命令都得指定一个文件名字啊。
你看我的例子都是'C:\mybak.db。
你指定了一个目录肯定不行的啊,还得要指定一个文件名字才成。
这两个是sqlserver的自定义的存储过程,其实也能手工在sqlserver的企业管理器中看到,, 选中库,右键--所有任务--备份还原数据库那。
参考技术C 个人觉得用 MSSQL 管理器的“维护计划”做备份更加实际。起码:
1.定时自动,无需人工干预。
2.定时备份,有N个不同时间的数据副本,更安全可靠。
3.服务器坏,重装SQL时可以直接通过备份文件还原。
参考技术D backup database MyDatabase to disk='D:\MyDatabase.bak' --备份
restore database MyDatabase from disk='D:\MyDatabase.bak' --还原追问

那备份日志的呢?

追答

backup log MyDatabase to disk = 'D:\MyDatabase_log.bak' --备份日志

本回答被提问者采纳

MSSQL 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

 

以上是关于SQL server 如何用语句备份和还原数据的主要内容,如果未能解决你的问题,请参考以下文章

如何用SQL语句 直接 备份,还原SQL 2000数据库

SQLServer2000中 如何用sql脚本还原数据库

SQLServer2000中 如何用sql脚本还原数据库

如何用sql server数据库恢复.bak数据库备份

如何用Windows Server备份和恢复域控制器

如何用RESTORE DATABASE 还原SQLServer数据库