菜单

怎么着创建和復苏SQL Server 2000数据库?

2018年12月26日 - sqlite

证实:这篇作品是几年前自己颁发在虎扑博客当中的原创著作,但由于天涯论坛博客现在要截止营业了,所以我就把这篇著作搬了还原,虽然现在SQL
Server
2000软件已经经过时了,但还是有部分人在采用它,尤其是少数高校的学生在做毕业设计或者课程设计的时候恐怕会采取到,所以就把该软件的数据库还原过程保留在此间呢。

数据库复苏大多是令人很厌恶的一对。比如自己,通常索要把转变环境的数据备份下来还原到测试环境中举办新职能的测试。

——————————————————————分割线————————————————————

带自己的长辈告诉我的点子是在SSMS中直接右键还原源采用苏醒数据的来源数据库,目的选拔要还原的数据库。

在还原SQL
Server
2000数据库文件此前,提议先把要还原的数据库文件复制粘贴到某个盘的根目录下,这样便于一会儿找到有关的公文,比如C盘。

SQL Server 数据库还原

   

这种艺术的成功率很低!日常会数据库使用中的错误指示:Exclusive access
could not be obtained because the database is in use

先打开SQL Server
2000的店家管理器,如图所示:

新兴找了两种情势来保管还原时数据库没被利用:

图片 1

措施一:变成单用户形式

--变成单用户模式
USE master
GO
ALTER DATABASE test3 --换成你的数据库名
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

--恢复多用户模式
USE master
GO
ALTER DATABASE test3 --换成你的数据库名
SET MULTI_USER
Go

创制数据库(假若已经创设了有关的数据库,则可以省去此步):右键点击“数据库”,选用“新建数据库(B)…”,如图所示:

方法二:脱机

---开始脱机
ALTER DATABASE test --你的数据库名
SET OFFLINE WITH ROLLBACK IMMEDIATE;

--恢复联机
ALTER DATABASE test --你的数据库名
SET ONLINE WITH ROLLBACK IMMEDIATE;

这般过来成功的概率扩大了广大,但是还是有部分莫名奇妙的场地导致死活恢复生机持续。

新兴,经过多种查找和品味,终于找到了相比稳定的法子:

--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--获得逻辑文件名
USE master
RESTORE FILELISTONLY
   FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\test.bak'

GO

--test和test_log是上面查到的逻辑名称
----注意:当还原数据库时,可以改变数据库的名称以及它的物理文件名称,但是不可以改变它的逻辑名称,所以,当我们将一个数据库还原成为另外一个数据库时,首先要利用RESTORE FILELISTONLY命令得到它的原始逻辑名称
USE master
RESTORE DATABASE test2
   FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\test.bak'

   WITH MOVE 'test' TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test2.mdf',

              MOVE 'test_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log2.ldf',
   STATS = 10, --每完成10%显示一条记录
   REPLACE ----加上 REPLACE 参数,则在现有数据库基础上强制还原
GO

功能显示:

效用呈现

总结,从备份到复苏完整流程整理如下:

/*
       从备份生成数据库bak文件到还原到另一个数据库的完整流程
*/
USE master
BACKUP DATABASE backDB
  TO DISK = 'D:\Backup\test.bak'

--
RESTORE FILELISTONLY
  FROM DISK = 'D:\Backup\test.bak'

--
RESTORE DATABASE restoreDB
  FROM DISK = 'D:\Backup\test.bak'
  WITH MOVE 'DBTest' TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test2.mdf',
  MOVE 'DBTest_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log2.ldf',
  STATS = 10,REPLACE
GO

区别备份还原:

万一要还原差别备份,需要先还原在距离备份时间点在此之前的一个完完全全备份,在还原完整备份时要添加NORECOVERY参数。

卷土重来差距备份时,如果唯有一个出入备份文件需要还原,无需使用NORECOVERY参数,如若有四个区别备份文件需要苏醒,除了最终一个差异备份文件,其他都亟待丰硕NORECOVERY参数。

--Datebase_backup_2016_08_29_000002_6047304 --完整备份文件
--Datebase_backup_2016_08_31_000002_2090321 --差异备份文件

--查看备份文件的逻辑名称
RESTORE FILELISTONLY
  FROM DISK = 'R:\MSSQL11.MSSQLSERVER\MSSQL\Backup\Datebase_backup_2016_08_31_000002_2090321.bak'  

---开始脱机
ALTER DATABASE RestoreDB 
SET OFFLINE WITH ROLLBACK IMMEDIATE;

--恢复联机
ALTER DATABASE RestoreDB
SET ONLINE WITH ROLLBACK IMMEDIATE;

USE master
RESTORE DATABASE RestoreDB
  FROM DISK = 'R:\MSSQL11.MSSQLSERVER\MSSQL\Backup\Datebase_backup_2016_08_29_000002_6047304.bak'
  WITH MOVE 'SKTMES_BPS_1_0_0' TO 'S:\MSSQL11.MSSQLSERVER\MSSQL\DATA\SKTMES_BPS_1_0_0.mdf',
  MOVE 'SKTMES_BPS_1_0_0_log' TO 'S:\MSSQL11.MSSQLSERVER\MSSQL\DATA\SKTMES_BPS_1_0_0_log.LDF',
  STATS = 10,REPLACE, --使用强制还原
  NORECOVERY  
GO

RESTORE DATABASE RestoreDB
  FROM DISK = 'R:\MSSQL11.MSSQLSERVER\MSSQL\Backup\Datebase_backup_2016_08_31_000002_2090321.bak'
  WITH MOVE 'SKTMES_BPS_1_0_0' TO 'S:\MSSQL11.MSSQLSERVER\MSSQL\DATA\SKTMES_BPS_1_0_0.mdf',
  MOVE 'SKTMES_BPS_1_0_0_log' TO 'S:\MSSQL11.MSSQLSERVER\MSSQL\DATA\SKTMES_BPS_1_0_0_log.LDF',
  STATS = 10   --最后一个差异备份文件不需要添加 NORECOVERY
GO

参考:

  1. 行使bak文件还原SQL
    Server
  2. SQL Server
    数据库备份和死灰复燃认识和小结(一)
  3. SQL Server
    数据库备份和还原认识和总括(二)
  4. RESTORE DATABASE命令还原SQLServer 2005
    数据库
  5. SQL
    Server的差异备份还原

图片 2

下一场在开辟的窗体中输入要创制的数据库名称,并点击“确定”按钮,这样数据库就创立好了。如图所示:

图片 3

回复数据库

右键点击刚刚创造的这多少个数据库名称,采纳具有任务——还原数据库,如图所示:

图片 4

下一场在开辟的窗体中,选用“从设备(M)”,并且点击“选用设备”按钮,如图所示:

图片 5

在开辟的窗体中点击“添加”按钮,如图所示:

图片 6

下一场在开辟的窗体中点击“文件名”左边的按钮,如图所示:

图片 7

下一场在弹出的对话框中找到要还原的老大数据库文件,并且点击“确定”按钮,如图所示:

图片 8

下一场在下面回滚的窗体中一向点击确定,如图所示:

图片 9

图片 10

下一场在回到窗体的“选项”选项卡中当选“在存活数据库上强制恢复生机(F)”,如图所示:

图片 11

接下来在以上窗体中点击“确定”按钮后,数据库就死灰复燃成功了,如图所示:

图片 12

注:本博客内所有的稿子均为原创,欢迎转载,但转载时请声明“瑞文软件”的字样,谢谢!

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图