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
.准备好附加数据库后,单击“确定”。
***
注意:
***
新附加的数据库在视图刷新后才会显示在对象资源管理器的“数据库”节点中。若要随时刷新视图,请在对象资源管理器中单击,再单击“视图”菜单中的“刷新”。
查看全文
相关阅读:
Dynamics CRM 请求服务时报access is denied错误
(转载)表服务器无法打开与报表服务器数据库的连接。所有请求和处理都要求与数据库建立连接。
如何将sqlserver的windows验证模式改为SQL Server 和 Windows 混合身份验证模式
(转载)SQL Server2008附加数据库之后显示为只读时解决方法
CRM导入组织报实例名称必须与计算机名称相同的问题
The ENU localization is not supported by this SQL Server media
js验证input输入框(字母,数字,符号,中文)
Microsoft Dynamics CRM 2011 JS操作集锦
一入python深似海--class
TLB的作用及工作过程
原文地址:https://www.cnblogs.com/furenjun/p/sql2005Attach.html
最新文章
Spring Boot 从1.0 升级到 2.0 所踩的坑
揪出MySQL磁盘消耗迅猛的真凶
Linux常用命令系列--export
90%代码如何实现自动迁移到鲲鹏平台?
【DevCloud· 敏捷智库】如何进行需求结构化管理?
【DevCloud · 敏捷智库】如何进行需求优先级管理?
【华为云技术分享】人脸情感模型简介
【华为云技术分享】python教程:猴子补丁
关于PHP源码授权
分词匹配并 兼容匹配规则和分页 的SQL语句
热门文章
PHP 中文切词类库
mysql分表的查询和更新问题
关于TP 的load 对前端版本化的不支持
PHP 代码加密
[转]ubuntu 安装PHP环境
PHP快速入门指南
mysql 根据日志 恢复数据详细
[转载]如果你连什么是上行、下行都不懂,还谈什么农村电商,农村电商上行实操案例分享
hive语句嵌入python脚本(进行map和reduce,实现左外连接)
Dynamics CRM 修改自定义实体名字及属性前缀(架构名称)
Copyright © 2011-2022 走看看