详细讲解SQL Server数据库的文件恢复技术
作者:20933 发布时间:2009-01-15 12:54:00
SQL Server有两种备份方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。本文中我们将主要介绍一下后者的备份与恢复。本文中假定您目前已经能够熟练使用Server企业管理器和SQL Server查询分析器)
1、正常的备份、恢复方式
正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。
卸下数据库的命令:Sp_detach_db 数据库名
连接数据库的命令:
Sp_attach_db或者sp_attach_single_file_db
s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]
sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。
例子:
假设数据库为test,其数据文件为test_data.mdf,日志文件为test_log.ldf。下面我们讨论一下如何备份、恢复该数据库。
卸下数据库:sp_detach_db ’test’
连接数据库:
sp_attach_db ’test’,’C:\Program Files\Microsoft SQL
Server\MSSQL\Data\test_data.mdf’,’C:\Program Files\Microsoft SQL
Server\MSSQL\Data\test_log.ldf’
sp_attach_single_file_db ’test’,’C:\Program Files\Microsoft SQL
Server\MSSQL\Data\test_data.mdf’
2、只有mdf文件的恢复技术
由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息
设备激活错误。物理文件名 ’C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF’ 可能有误。
已创建名为 ’C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF’ 的新日志文件。
但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息
服务器: 消息 1813,级别 16,状态 2,行 1
未能打开新数据库 ’test’。CREATE DATABASE 将终止。
设备激活错误。物理文件名 ’d:\test_log.LDF’ 可能有误。
应该怎么办呢?下面我们举例说明恢复办法。


猜你喜欢
- 如下所示: out = subprocess.getstatusoutput('adb shell pm
- 二、导航功能增强 1. 下拉菜单中的链接(Links in Select Menu)Q:我如何实现在下拉菜单中链接到不
- 这两天在测试过程中,遇到这样的问题:数据量很大,一份csv文件的数据与另外一个文件的数据进行对比,但是csv中的文件数据量很大,并且进行统计
- 很多朋友使用Dreamweaver一段时间后,开始热衷于寻找各式各样的插件,追求各种各样的特效,而对于Dreamweaver中的基本功能反而
- 前言with 这个关键字,对于每一学习Python的人,都不会陌生。操作文本对象的时候,几乎所有的人都会让我们要用 with open ,这
- 首先祝贺Echarts顺利的从Apache毕业,多了个响亮的名字:Apache ECharts,现在的官网地址在这里:传送门,首页相当的国际
- python中调用字典中key的方法:使用list()方法将字典中的keys转化为列表,然后通过列表索引值值即可调用指定的key。# -*-
- 背景考虑这样一种情况,产品同学希望达到以下功能:在我们的网页中有一个固定区域,这个区域会用于渲染从后端拉取的含有图片等资源的富文本字符串。他
- 背景index页面:首页品牌入口list页面:商品列表页面product页面:商品详情页面从index页面进入list的时候要刷新页面,从p
- 本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下。这次要爬的站点是这个:http://www.weather.com.cn/
- 1. CBV加装饰器CBV加装饰器有三种方法,案例:要求登录(不管get请求还是post请求)后才可以访问HTML代码index.html&
- 我有一个2D(二维) NumPy数组,并希望用255.0替换大于或等于阈值T的所有值。据我所知,最基础的方法是:shape = arr.sh
- 本文介绍以下内容:1. 使用transformers框架做预训练的bert-base模型;2. 开发平台使用Google的Colab平台,白
- 本文实例讲述了Python数据报表之Excel操作模块用法。分享给大家供大家参考,具体如下:一 点睛Excel是当今最流行的电子表格处理软件
- 人生苦短,快学Python!今天介绍的是psutil模块,它是一个跨平台库 https://github.com/giampaolo/psu
- 这个间歇性向上滚动js代码很适合做广告展示,友情链接等等。与平常的无缝向上连续滚动不同的是它每滚动一个就会停顿一会儿。<!DOCTYP
- 一、求算术平方根a=x=int(raw_input('Enter a number:'))if x >= :while
- <?php echo "<br/>数值强制转换:"; $string="2a";
- 前言Go语言中,协程创建和启动非常简单,但是如何才能正确关闭协程呢,和开车一样,前进总是很容易,但是如何正确的把车停在指定的地方总是不容易的
- '==' 比较的是两个对象的值'is' 比较的是两个对象的内存地址(id)下面我们着重理解 'is&