如何在SQL Server 2008 R2中还原数据库

Posted

tags:

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

方法/步骤
1. 左下角点击开始,程序,Microsoft SQL Server 2008 R2 ,找到SQL Server Management Studio,进入企业管理器。

2 选择服务器\实例名,登录名选择sa,输入sa登录密码,点击连接。

3 进入企业管理器界面,鼠标右键单击“数据库”,选择“新建数据库”。

4 输入数据库名称,例如123材料,然后点击确定。然后在企业管理器里就会发现多出了一个数据库“123材料”

5 鼠标右键点击 “123材料”这个数据库,选择“任务”—“还原”—“数据库”

6 进入还原数据库页面,选择“源设备”,然后点击后面的三个小圆点。

7 点击“添加”。

8 选择要恢复的BAK文件。

9 点击下面的“选择用于还原的备份集”,把还原下面的方框全部勾选,,然后点击左侧的“选项”

10 在选项的设置里,把“覆盖现有数据库”前面的方框勾选,然后点击下面的“确定”

11 成功完成数据库的还原,大功告成!
参考技术A 参考方法如下:
1.左下角点击开始,程序,Microsoft SQL Server 2008 R2 ,找到SQL Server Management Studio,进入企业管理器。
  2.选择服务器\实例名,登录名选择sa,输入sa登录密码,点击连接。
  3.进入企业管理器界面,鼠标右键单击“数据库”,选择“新建数据库”。
  4. 输入数据库名称,例如美女资料,然后点击确定。然后在企业管理器里就会发现多出了一个数据库“美女资料”
  5. 鼠标右键点击 “美女资料”这个数据库,选择“任务”—“还原”—“数据库”
  6. 进入还原数据库页面,选择“源设备”,然后点击后面的三个小圆点。
  7.点击“添加”。
  8.选择要恢复的BAK文件。
  9. 点击下面的“选择用于还原的备份集”,把还原下面的方框全部勾选,,然后点击左侧的“选项”
  10.在选项的设置里,把“覆盖现有数据库”前面的方框勾选,然后点击下面的“确定”
  11.成功完成数据库的还原,大功告成!本回答被提问者采纳
参考技术B 参考方法如下:
1.左下角点击开始,程序,Microsoft SQL Server 2008 R2 ,找到SQL Server Management Studio,进入企业管理器。
2.选择服务器\实例名,登录名选择sa,输入sa登录密码,点击连接。
3.进入企业管理器界面,鼠标右键单击“数据库”,选择“新建数据库”。
4. 输入数据库名称,例如资料,然后点击确定。然后在企业管理器里就会发现多出了一个数据库“美女资料”
5. 鼠标右键点击 “资料”这个数据库,选择“任务”—“还原”—“数据库”
6. 进入还原数据库页面,选择“源设备”,然后点击后面的三个小圆点。
7.点击“添加”。
8.选择要恢复的BAK文件。
9. 点击下面的“选择用于还原的备份集”,把还原下面的方框全部勾选,,然后点击左侧的“选项”
10.在选项的设置里,把“覆盖现有数据库”前面的方框勾选,然后点击下面的“确定”
11.成功完成数据库的还原,大功告成!
参考技术C 仅有ldf文件是还原不来的,如果他给你的是.mdf文件,你用附加功能。如果给你的是他备份的.bak文件,你用还原功能。一般2008还原2005或2000的备份文件不会有问题,但在2000上还原2005或2008的备份文件的时候会出问题,即SQLServer是高版本兼容低版本

1. 左下角点击开始,程序,Microsoft SQL Server 2008 R2 ,找到SQL Server Management Studio,进入企业管理器。

2 选择服务器\实例名,登录名选择sa,输入sa登录密码,点击连接。

3 进入企业管理器界面,鼠标右键单击“数据库”,选择“新建数据库”。

4 输入数据库名称,例如123材料,然后点击确定。然后在企业管理器里就会发现多出了一个数据库“123材料”

5 鼠标右键点击 “123材料”这个数据库,选择“任务”—“还原”—“数据库”

6 进入还原数据库页面,选择“源设备”,然后点击后面的三个小圆点。

7 点击“添加”。

8 选择要恢复的BAK文件。

9 点击下面的“选择用于还原的备份集”,把还原下面的方框全部勾选,,然后点击左侧的“选项”

10 在选项的设置里,把“覆盖现有数据库”前面的方框勾选,然后点击下面的“确定”
参考技术D

楼主,登录数据库管理工具Microsoft SQL Server Management Studio,右键还原即可。

(*^__^*) 嘻嘻……

SQL Server 2012还原一直卡在ASYNC_IO_COMPLETION浅析

在SQL Server 2012(11.0.7001.0)下面在还原一个数据库(备份文件40多G大小,实际数据库大小300G),在还原过程中,出现一直等待ASYNC_IO_COMPLETION,如下测试截图所示,已经等待了72分钟了,但是还原比例依然为0%

 

SELECT  r.session_id ,
        r.command ,
        r.start_time,
        r.status,
        r.wait_type,
        CONVERT(NUMERIC(6, 2), r.percent_complete)   AS [Percent Complete(%)] ,
        CONVERT(VARCHAR(20), DATEADD(ms, r.estimated_completion_time,
                                     GETDATE()), 20) AS [ETA Completion Time] ,
        CONVERT(NUMERIC(10, 2), r.total_elapsed_time / 1000.0 / 60.0) AS [Elapsed Min] ,
        CONVERT(NUMERIC(10, 2), r.estimated_completion_time / 1000.0 / 60.0) AS [ETA Min] ,
        CONVERT(NUMERIC(10, 2), r.estimated_completion_time / 1000.0 / 60.0
        / 60.0) AS [ETA Hours] ,
        CONVERT(VARCHAR(1000), ( SELECT SUBSTRING(text,
                                                  r.statement_start_offset / 2,
                                                  CASE WHEN r.statement_end_offset = -1
                                                       THEN 1000
                                                       ELSE ( r.statement_end_offset
                                                              - r.statement_start_offset )
                                                            / 2
                                                  END)
                                 FROM   sys.dm_exec_sql_text(sql_handle)
                               )) AS CommandText
FROM    sys.dm_exec_requests r
WHERE   command IN ( \'RESTORE DATABASE\', \'BACKUP DATABASE\',\'RESTORE LOG\' );

 

 

 

clip_image001

 

当然,这里是实验,如果还要继续等待的话,相信这个时间会更长。这个是比较让人奇怪的现象。后面查了一下这个跟即时文件初始化(Instant File Initialization (IFI))有关。关于这个概念,可以参考官方文档数据库文件初始化 ,摘抄部分内容如下所示:

 

 

 

数据库文件初始化

 

初始化数据和日志文件以覆盖之前删除的文件遗留在磁盘上的任何现有数据。 执行以下其中一项操作时,应首先通过零填充(用零填充)数据和日志文件来初始化这些文件:

 

·         创建数据库。

·         向现有数据库添加数据或日志文件。

·         增大现有文件的大小(包括自动增长操作)。

·         还原数据库或文件组。

 

文件初始化会导致这些操作花费更多时间。 但是,首次将数据写入文件后,操作系统就不必用零来填充文件

 

 

即时文件初始化 (IFI)

 

SQL Server中,可以在瞬间对数据文件进行初始化,以避免零填充操作。即时文件初始化可以快速执行上述文件操作。 即时文件初始化功能将回收使用的磁盘空间,而无需使用零填充空间。 相反,新数据写入文件时会覆盖磁盘内容。 日志文件不能立即初始化。

 

备注

只有在 Microsoft Windows XP Professional  Windows Server 2003 或更高版本中才可以使用即时文件初始化功能。

 

重要

只有在数据文件中才可以使用即时文件初始化功能。 创建日志文件或其大小增长时,将始终零填充该文件。

 

即时文件初始化功能仅在向SQL Server服务启动帐户授予了 SE_MANAGE_VOLUME_NAME 之后才可用。 Windows Administrator 组的成员拥有此权限,并可以通过将其他用户添加到 执行卷维护任务 安全策略中来为其授予此权限。

 

重要

某些功能使用(如透明数据加密 (TDE))可以阻止即时文件初始化。

 

 

 因为这个案例中,启动SQL Server的服务启动账号为NT Service\\MSSQLSERVER,所以没有权限即时文件初始化的,如果将启动SQL Server的服务启动账号改为具有管理员权限的域账号,就不会出现这种情况。另外,如果一定要以NT Service\\MSSQLSERVER为启动账号,可以按如下步骤操作:

 

要向一个帐户授予 Perform volume maintenance tasks 权限:

 

 

  1. 在将要创建备份文件的计算机上打开本地安全策略应用程序 (secpol.msc)

 

  1. 在左侧窗格中,展开本地策略 ,然后单击用户权限指派

 

  1. 在右侧窗格中,双击执行卷维护任务

 

  1. 单击添加用户或组 ,添加用于备份的任何用户帐户。

 

  1. 单击应用 ,然后关闭所有本地安全策略 对话框

 

clip_image002

 

 

设置后,重启SQL Server服务,然后还原数据库就会正常化,此时的等待事件为BACKUPTHREAD,而不是ASYNC_IO_COMPLETION, 如果版本是SQL Server 2012 SP4或以上版本,可以通过下面SQL查看识别是否启用了即时文件初始化

 

迁移MSSql Db - 来自SQL Server 2008 R2 Enterprise备份可以在SQL Server 2008 R2 Express版本中还原

如何设置将SQL SERVER2012数据库备份还原到SQL SERVER2008上

简述2012版SQL SERVER备份还原到2008R2版SQL SERVER的方法(转载)

sql 2008 r2 在sql 2008上兼容么

如何破解windows server 2008r2远程连接数2个的限制

Windows Server 2008 R2 + Exchange Server 2010 迁移

(c)2006-2019 SYSTEM All Rights Reserved IT常识