WEB开发网
开发学院数据库MSSQL Server T-SQL 备份和还原 阅读

T-SQL 备份和还原

 2009-09-14 00:00:00 来源:WEB开发网   
核心提示:总结了一些SQL Server常用的备份还原T-SQL 语句,代码基本是支持2005/2008的,不过部分功能需要企业版数据库:Code/*Author:Terry.Sai.M.J 浪客 Location:BeiJingDateTime:GETDATE()Description:使用镜像备份*/IF DB_ID(

总结了一些SQL Server常用的备份还原T-SQL 语句,代码基本是支持2005/2008的,不过部分功能需要企业版数据库:

Code

/*
Author:Terry.Sai.M.J 浪客
Location:BeiJing
DateTime:GETDATE()
Description:使用镜像备份
*/

IF DB_ID('db') IS NOT NULL
    DROP DATABASE db;
GO

CREATE DATABASE db;
GO

CREATE TABLE db.dbo.T(ID INT);

INSERT INTO db.dbo.T SELECT 1;

BACKUP DATABASE db TO DISK='c:\1.bak' MIRROR TO DISK='c:\2.bak'
WITH FORMAT,MEDIANAME='MydbMedia';

RESTORE DATABASE db FROM DISK='c:\2.bak' WITH RECOVERY,REPLACE

SELECT COUNT(*) FROM db.dbo.T

RESTORE DATABASE db FROM DISK='c:\1.bak' WITH RECOVERY,REPLACE

SELECT COUNT(*) FROM db.dbo.T

DROP DATABASE db;
GO

Code

/*
Author:Terry.Sai.M.J 浪客
Location:BeiJing
DateTime:GETDATE()
Description:使用多备份设备组成媒体集进行备份还原
*/

--删除已经存在的db数据库
IF DB_ID('db') IS NOT NULL
    DROP DATABASE db;
GO

--创建数据库db
CREATE DATABASE db;
GO

--创建T表
CREATE TABLE db.dbo.T(ID INT PRIMARY KEY IDENTITY(1,1));

--插入一条记录
INSERT INTO db.dbo.T DEFAULT VALUES

--首先使用FORMAT启用一个新的媒体标头,然后分别放到3个磁盘中,形成一个备份集,同时命名一个媒体名
BACKUP DATABASE db TO DISK='c:\1.bak',DISK='d:\1.bak',DISK='e:\1.bak'
WITH FORMAT,MEDIANAME='MydbMedia'

--插入一条记录
INSERT INTO db.dbo.T DEFAULT VALUES

--创建一个差异备份,必须强制的与主备份一样的路径(3个磁盘),使用相同的路径的话,可以通过媒体标头区分上文的主备份与现在的差异备份,因为我们使用了 NOFORMAT关键字,就是不重新初始化媒体(这也叫追加媒体集).还有加上DIFFERENTIAL以表示是差异备份.还要指定媒体名称
BACKUP DATABASE db TO DISK='c:\1.bak',DISK='d:\1.bak',DISK='e:\1.bak'
WITH NOFORMAT/*或者使用NOINIT,效果一样的哈*/,MEDIANAME='MydbMedia',DIFFERENTIAL;
GO

--还原主备份
RESTORE DATABASE db FROM DISK='c:\1.bak',DISK='d:\1.bak',DISK='e:\1.bak'
WITH MEDIANAME='MydbMedia',FILE=1,NORECOVERY,REPLACE;

--还原差异备份(注意FILE=2,因为他标头的备份是属于2顺序的.第一个备份的就是1,依次类推)
RESTORE DATABASE db FROM DISK='c:\1.bak',DISK='d:\1.bak',DISK='e:\1.bak'
WITH MEDIANAME='MydbMedia',FILE=2,NORECOVERY;

--数据库在线
RESTORE DATABASE db WITH RECOVERY

--测试记录
SELECT * FROM db.dbo.T
GO

1 2 3 4 5 6  下一页

Tags:SQL 备份 还原

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接