zoukankan
html css js c++ java
恢复只有MDF文件的MS SQL数据库
恢复只有MDF文件的MS SQL数据库.
从 SQL Server
7.0
或 SQL Server
2000
恢复或升级到更高版本。
如果你的SQL数据库,只保留有
*
.mdf文件,怎么恢复呢?下面的两个方法帮你解决这个难题.
writer:furenjun
2007.11
.
13
方法一
=================================================
在 SQL Server
2005
中,通过使用"分离和附加操作"将用户数据库(只有一个
*
.mdf文件或两个文件都存在)
从 SQL Server
7.0
或 SQL Server
2000
升级到更高版本。也实现了只有一个
*
.mdf文件附加
/
还原成功的目的.
哈哈,不错吧.步骤还挺简单的.
操作步骤:
1
.将复制的 CarDriManage 数据库和(可选的)日志文件附加到 SQL Server
2005
的实例(此示例使用了相同的数据库名称)。
2
.在 SQL Server Management Studio 中,打开新的查询编辑器查询并连接到要附加该数据库的服务器实例。
3
.执行以下
CREATE
DATABASE
语句:
复制代码
USE
master;
GO
CREATE
DATABASE
[
CarDriManage
]
ON
PRIMARY
(FILENAME
=
'
D:\MSSQL\DATA\CarDriManage.mdf
'
)
FOR
ATTACH;
GO
--
如果两个文件都存在,则执行下面的代码.
USE
master;
GO
CREATE
DATABASE
pubs
ON
PRIMARY
FILENAME
=
'
D:\MSSQL\DATA\CarDriManage.mdf
'
)
LOG
ON
(FILENAME
=
'
D:\MSSQL\DATA\CarDriManage_log.LDF
'
)
FOR
ATTACH;
GO
***
注意:
***
在 SQL Server Management Studio 中,新附加的数据库在对象资源管理器中不是立即可见的。若要查看数据库,请单击“对象资源管理器”窗口,并选择“视图”
>
“刷新”。如
果展开“数据库”节点,新附加的数据库现在就会显示在数据库列表中。
--
下面是执行后的报告(没有CarDriManage_log.LDF文件)
--
相信你看到下面的消息也会很高兴,失而复得啊!
文件激活失败。物理文件名称
'
C:\Program Files\Microsoft SQL Server\MSSQL\data\CarDriManage_log.LDF
'
可能不正确。
新的日志文件
'
D:\MSSQL\DATA\CarDriManage_log.LDF
'
已创建。
正在将数据库
'
CarDriManage
'
从版本
539
转换为当前版本
611
。
数据库
'
CarDriManage
'
正在从版本
539
升级到版本
551
。
数据库
'
CarDriManage
'
正在从版本
551
升级到版本
552
。
数据库
'
CarDriManage
'
正在从版本
552
升级到版本
553
。
数据库
'
CarDriManage
'
正在从版本
553
升级到版本
554
。
数据库
'
CarDriManage
'
正在从版本
554
升级到版本
589
。
数据库
'
CarDriManage
'
正在从版本
589
升级到版本
590
。
数据库
'
CarDriManage
'
正在从版本
590
升级到版本
593
。
数据库
'
CarDriManage
'
正在从版本
593
升级到版本
597
。
数据库
'
CarDriManage
'
正在从版本
597
升级到版本
604
。
数据库
'
CarDriManage
'
正在从版本
604
升级到版本
605
。
数据库
'
CarDriManage
'
正在从版本
605
升级到版本
606
。
数据库
'
CarDriManage
'
正在从版本
606
升级到版本
607
。
数据库
'
CarDriManage
'
正在从版本
607
升级到版本
608
。
数据库
'
CarDriManage
'
正在从版本
608
升级到版本
609
。
数据库
'
CarDriManage
'
正在从版本
609
升级到版本
610
。
数据库
'
CarDriManage
'
正在从版本
610
升级到版本
611
。
更为详细的介绍就参见:
====================
SQL Server
2005
联机丛书
如何使用分离和附加来升级数据库 (Transact
-
SQL)
ms
-
help:
//
MS.SQLCC.v9
/
MS.SQLSVR.v9.zh
-
CHS
/
udb9
/
html
/
99f66ed9
-
3a75
-
4e38
-
ad7d
-
6c27cc3529a9.htm
方法二:
=============================================================
使用系统存储过程 (Transact
-
SQL) 之 数据库引擎存储过程 (Transact
-
SQL)
sp_attach_single_file_db
--
使用示例
--
将"D:\MSSQL\DATA\database.mdf" 这个数据库文件,附加至sql2005数据库中,
--
附加的新数据库名为:DataBase2
USE
master;
GO
EXEC
sp_detach_db
@dbname
=
'
DataBase2
'
;
EXEC
sp_attach_single_file_db
@dbname
=
'
DataBase2
'
,
@physname
=
N
'
D:\MSSQL\DATA\database.mdf
'
;
go
===================
消息
15010
,级别
16
,状态
1
,过程 sp_detach_db,第
34
行
数据库
'
DataBase2
'
不存在。请使用 sp_helpdb 来显示可用的数据库。
文件激活失败。物理文件名称
'
C:\DotNetNuke_Build\Website\App_Data\Database2_log.ldf
'
可能不正确。
新的日志文件
'
D:\MSSQL\DATA\DataBase2_log.LDF
'
已创建。
===========================
请注意(摘自sql2005帮助文档)
===========================
将只有一个数据文件的数据库附加到当前服务器。sp_attach_single_file_db 不能用于多个数据文件。
重要事项:
========
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并应着手修改当前还在使用该功能的应用程序。,我们建议您改用
CREATE
DATABASE
database_name
FOR
ATTACH。有关详细信息,请参阅
CREATE
DATABASE
(Transact
-
SQL)。不要针对复制数据库使用此过程。
语法:
====
sp_attach_single_file_db
[
@dbname=
]
'
dbname
'
,
[
@physname=
]
'
physical_name
'
===========
附常规附加数据库方法(有
*
.mdf 和
*
_
log
.ldf两个文件)
===============
1
.在 SQL Server Management Studio 对象资源管理器中,连接到 Microsoft SQL Server 数据库引擎,然后展开该实例。
2
.右键单击“数据库”,指向“任务”,然后单击“附加”。将显示“附加数据库”对话框。
3
.若要指定要附加的数据库,请单击“添加”,然后在“定位数据库文件”对话框中选择该数据库所在的磁盘驱动器,展开目录树以查找和选择该数据库的 .mdf 文件;例如:
C:\Program Files\Microsoft SQL Server\MSSQL.
1
\MSSQL\DATA\AdventureWorks_Data.mdf
***
重要事项:
***
本示例假设 AdventureWorks 数据库以前已分离。有关分离数据库的信息,请参阅如何分离数据库 (SQL Server Management Studio)。
4
.或者,若要指定以其他名称附加数据库,请在“附加数据库”对话框的“附加为”列中输入名称。
5
.或者,通过在“所有者”列中选择其他项来更改数据库的所有者。
6
.准备好附加数据库后,单击“确定”。
***
注意:
***
新附加的数据库在视图刷新后才会显示在对象资源管理器的“数据库”节点中。若要随时刷新视图,请在对象资源管理器中单击,再单击“视图”菜单中的“刷新”。
查看全文
相关阅读:
插入排序
JavaMail学习笔记
Struts2的工作原理
我的快速排序
截取字符串,只截取前N个字节的字符
修改MyEclipse8.6中的Servlet.java模板
Java类装载的过程及原理介绍
cmd检查jdk的版本
快速排序
flash 侦测人的面部
原文地址:https://www.cnblogs.com/furenjun/p/sql2005Attach.html
最新文章
js从select列表选项中删除一个Item项
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
何去何从
acm牛人
javascript
膜拜Redis
什么是BULK INSERT
Redis性能评测
SWF 文件不能访问本地资源 只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。
MongoDB、HandlerSocket和MySQL性能测试及其结果分析
热门文章
BENCHMARKING LIBEVENT AGAINST LIBEV
BENCHMARKING LIBEVENT AGAINST LIBEV
QPS,TPS
HandlerSocket
EasyMvc入门教程基本控件说明(1)按钮
EasyMvc入门教程入门
订票助手
EasyMvc入门教程基本控件说明(2)定时器
一段Javascript的代码
如何判断浏览器的请求头是不是结束
Copyright © 2011-2022 走看看