1.备份一个bak文件,其中database_name为数据库名,目录路径需要存在。这是完整备份。

BACKUP DATABASE [database_name]
TO DISK=\'D:\database_name.bak\'

2.检查备份文件的逻辑信息,主要为LogicName,一个是数据文件mdf,一个是日志文件ldf

RESTORE FILELISTONLY
FROM DISK = \'D:\database_name.bak\';

image

3.还原数据库

RESTORE DATABASE [database_name]
FROM DISK=\'D:\database_name.bak\'

若还原到本地,且改名的需求,可用以下命令,其中Move后的字符串,为第二部中查询到的逻辑名LogicName

RESTORE DATABASE [database_name]
FROM DISK=\'D:\database_name.bak\'
WITH
MOVE \'database_name\' TO \'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\new_database_name.mdf\',
MOVE \'database_name_log\' TO \'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\new_database_name_log.ldf\',
STATS = 10,REPLACE

其他几个常用命令

--脱库,使数据库离线,不会有其他链接上来
ALTER DATABASE [database_name] SET OFFLINE WITH ROLLBACK IMMEDIATE
--挂载,是数据库重新上线
ALTER DATABASE [database_name] SET ONLINE  
--当数据库显示正在恢复中,是用该命令可恢复正常
RESTORE DATABASE [database_name] WITH RECOVERY
--当数据库显示单用户,该命令修改为多用户正常模式
ALTER DATABASE [database_name] SET MULTI_USER

差异备份

BACKUP DATABASE [database_name]
TO DISK=\'D:\database_name_diff.bak\'
WITH DIFFERENTIAL

镜像备份

BACKUP DATABASE [database_name]
TO DISK=\'D:\database_name_mirror1.bak\'
MIRROR
TO DISK=\'D:\database_name_mirror2.bak\'
WITH FORMAT

版权声明:本文为rqx-20181108原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/rqx-20181108/p/12161468.html