SQLSERVER数据库备份后无法还原的解决办法

SQLSERVER数据库备份后无法还原的解决办法,第1张

有时候为了考虑数据安全我们都会备份数据库 sqlserver的备份格式一般都是bak结尾的 但覆盖时容易出问题 这里简单介绍下 需要的朋友可以参考下   有时候完全备份 当还原的时候说不时数据库文件不让还原 解决办法: 可以直接复制数据库文件 xxx mdf 和 xxx ldf (实际复制过程中需要先停止sqlserver服务才可以) 用 sp_attach_db 存储过程 就能搞定 示例 下面的示例将 pubs 中的两个文件附加到当前服务器 EXEC sp_attach_db @dbname = N pubs @filename = N c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs mdf @filename = N c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log ldf N 表示Unicode的含义 就象类型中有varchar和nvarchar一样 一个Unicode字符占两个字节 使用N 的情况主要是在双字节系统环 境中强制系统对每个字符用Unicode标准来解释 否则如果你的数据库 mdf文件是中文名而又不加N 的话 数据库加载后名称可能就变成乱码 因为系 统按单字节处理字符造成! 如果确认是SQL SERVER无法启动 请按照下面步骤 *** 作: 重装SQL SERVER(注意要保留原来数据库的数据库文件 日志文件可不要) 在SQL Analysis中用sp_attach_db将数据库加到服务器 sp_attach_db用法: sp_attach_db 将数据库附加到服务器 语法 sp_attach_db [ @dbname = ] dbname [ @filename = ] filename_n [ ] 参数 [@dbname =] dbname 要附加到服务器的数据库的名称 该名称必须是唯一的 dbname 的数据类型为 sysname 默认值为 NULL [@filename =] filename_n 数 据库文件的物理名称 包括路径 filename_n 的数据类型为 nvarchar( ) 默认值为 NULL 最多可以指定 个文件名 参数名称以 @filename 开始 递增到 @filename 文件名列表至少必须包括主文件 主文件包含指向数据库中其它文件的系统表 该列表还必须包括数据库分离后所有被移动的文件 返回代码值 (成功)或 (失败) 结果集 无 注释 只应对以前使用显式 sp_detach_db *** 作从数据库服务器分离的数据库执行 sp_attach_db 如果必须指定多于 个文件 请使用带有 FOR ATTACH 子句的 CREATE DATABASE 如果将数据库附加到的服务器不是该数据库从中分离的服务器 并且启用了分离的数据库以进行复制 则应该运行 sp_removedbreplication 从数据库删除复制 权限 只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程   lishixinzhi/Article/program/MySQL/201311/29555

sql

server本身有数据导入的 *** 作。但如果要从一个备份的文件中导入数据,则要进行另外的 *** 作。下面以一个例子进行说明。

sql

server服务器上已有一个doe数据库,并且里面有大量的数据,现准备从另外一个备份文件a1bak(不是doe数据库的备份文件)中导入另外的数据(即导入后在doe中增加一些数据表,表中已录有数据),并保持原doe的数据不变。

1、首先,在“sql企业管理器”中新建一个临时数据库a1。

2、右击a1数据库,选择:所有任务->还原数据库。

3、在“还原数据库”窗口中,选择:“从设备”。

4、点击“选择设备”。

5、点击“添加”。

6、从文件名中选择要还原的数据库文件,如a1bak。

7、点击“确定”,返回“还原数据库”窗口。

8、点击“选项”卡,进入选项设置。

9、钩选:“在现有数据库上强制还原”。

10、修改“移到物理文件名”为:“c:a1ldf”、“c:a1mdf”。

11、点确定,即可导入备份文件中的数据到临时数据库a1中。

12、此时,你可以将数据从a1导入到另外一真正要导入的数据库中,如doe数据库。

(下面的数据导入 *** 作为sql2000企业管理器的一般数据导入导出 *** 作。)

13、在“sql企业管理器”中选择“doe”数据库。

14、右击doe数据库,选择:所有任务->导入数据。

15、在“dts导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库a1。点击下一步。

16、在“选择目的”中,系统已经默认为doe数据库。

17、连续点击“下一步”,直到完成。

经过上面的 *** 作,你已经成功地将备份文件a1bak中数据导入doe数据库中,并且doe数据库原有数据不变。

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

成功完成数据库的还原,大功告成!

以上就是关于SQLSERVER数据库备份后无法还原的解决办法全部的内容,包括:SQLSERVER数据库备份后无法还原的解决办法、如何通过备份文件恢复SQL Server数据库、如何通过 sql 2008 备份的数据库恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9367510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存