SQL Server 高级技术(一) —— 数据备份与恢复

SQL Server 高级技术(一) —— 数据备份与恢复

一、SQL Server 备份和恢复简介

  SQL Server 支持的备份方式有四种,分别是完整备份、差异备份、事务日志备份以及文件和文件组备份。SQL Server 支持的恢复方式有三种,分别是完整恢复模式、大容量日志恢复模式和简单恢复模式。

二、SQL Server 数据库备份的 T-SQL 语句
EXEC sp_addumpdevice 'disk','bk_device','D:\db\bk\bk_device.bak'
-- 创建一个名为 bk_device 的备份设备
BACKUP DATABASE demo 
    TO bk_device -- 备份到设备
    WITH DIFFERENTIAL -- 使用差异备份
BACKUP DATABASE demo 
    TO DISK = 'D:\db\bk\backup.bak'
BACKUP DATABASE demo 
    FILE = 'demo' -- 备份文件
    TO bk_device -- 完整备份
BACKUP DATABASE demo
    FILEGROUP = 'static_filegroup' -- 备份文件组
    TO bk_device
BACKUP LOG demo -- 备份事务日志
    TO bk_device
RESTORE HEADERONLY FROM bk_device -- 查看设备内容
RESTORE VERIFYONLY FROM bk_device -- 查看备份设备是否有误,默认只校验第一个备份集
RESTORE VERIFYONLY 
    FROM bk_device
    WITH FILE = 2
RESTORE VERIFYONLY
    FROM DISK = 'D:\db\bk\backup.bak'
二、SQL Server 数据库还原的 T-SQL 语句

还原数据库前的注意事项:
  1、检查备份设备或文件,可使用 RESTORE VERIFYONLY 语句。
  2、查看数据库是否有其他人正在使用,如果有人正在使用将无法还原数据库。

USE master
RESTORE DATABASE demo
    FROM bk_device -- 从设备还原数据库
    WITH FILE = 6 -- 使用第 6 个备份集来还原 demo 数据库
RESTORE DATABASE demo
    FROM DISK = 'D:\db\bk\backup.bak' -- 从磁盘文件还原数据库
RESTORE DATABASE demo
    FROM bk_device
    WITH FILE = 1,NORECOVERY -- 还原差异备份
RESTORE LOG demo
    FROM bk_device -- 还原日志备份
RESTORE DATABASE demo
    FILEGROUP = 'PRIMARY'
    FROM bk_device -- 从设备还原文件组

DECLARE @bk_date datetime2
RESTORE DATABASE demo
    FROM bk_device,
    WITH FILE = 17,NORECOVERY
    MOVE 'demo' TO 'D:\new\demo_Data.mdf' -- 将文件还原到新位置
    MOVE 'demo_log' TO 'D:\new\demo_log.mdf'    
GO
RESTORE LOG demo
    FROM bk_device
    WITH FILE = 18, STOPAT= SELECT CONVERT(char(11),@bk_date,120)+CONVERT(char(12),@bk_date,114)
    原文作者:SQL
    原文地址: https://blog.csdn.net/wuxinwudai/article/details/55093890
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞