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
.准备好附加数据库后,单击“确定”。
***
注意:
***
新附加的数据库在视图刷新后才会显示在对象资源管理器的“数据库”节点中。若要随时刷新视图,请在对象资源管理器中单击,再单击“视图”菜单中的“刷新”。
查看全文
相关阅读:
Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程
将Windows Server 2016 打造成工作站(20161030更新)
阿里云服务器Svn-Server无法连接
安卓 webview背景色的设置
安卓handler、thread实现异步任务
多幅图像下载的时间效率问题
gridview里item是textView、Button单击事件相应,以及按下效果的取去除
android dialog圆角显示及解决出现的黑色棱角.(友情提示)
Android自定义对话框(Dialog)位置,大小
安卓selector
原文地址:https://www.cnblogs.com/furenjun/p/sql2005Attach.html
最新文章
面向对象 继承
面向对象 封装
面向对象 类 练习
Linux 下装逼技巧
java 拾遗
自动化测试归纳总结
再次回归 Spark-- 转
python web 开发
python--协程之特别篇
python--再看并行之协程线程进程
热门文章
学习方法论
python 调用 java代码
java 调用 python 脚本
初进python世界之数据类型
Python 学习教程系列文章
系统重装之认识UEFI
Win10访问共享文件夹如何取消用户名密码
excel VBA 密码设置问题
VBA 宏文件源代码密码解除
Microsoft Office Project 2016使用心得(一)
Copyright © 2011-2022 走看看