-
SQL
数据库置疑解决方案
一、数据库置疑产生的原因
1
、
SQL
Server
所在分区空间是否够?
数据库文件大小是否达到最大文件限制?
FAT32
的格式只支持
4G
以内
的文件。
2
、数据库文件损坏或被非
正常删除时出现这种情况。
3
、病毒
防火墙的扫描也会引起数据库置疑。
4
、当
SQL
Server
启动时,将会尝试获得对数据库文件的排他访问权,如果
此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。
5
、电脑非法关机也会造成数据库置疑。
p>
6
、电脑磁盘有坏道有可能造成数据库置疑。
二、数据库置疑的预防
1
、数据库存放的盘符,空间是否够大,经常检查盘符的空间。
2
、数据库存放的盘符的格式设置为
NTFS
格式。
3
、
进行病毒清除时,尽量把
SQL
服务停掉,再进行检查。
4
、尽量减少非正常关机。
5
、建议客户购买后备电源。
6
、给客户实施软件之后一定要做好自动备份。
7
、建议客户每隔一定时间手动备份一次。
三、数据库置疑的修复
1
、正常的备份、
SQL
数据库恢复方式
正常方式下,我们要备份一个数据库,首先要先将该数据库
从运行的数据
服务器中断开,或者停掉整个数据库服务器,然后复制文件。
卸下数据库的命令:
Sp_detach_db
数据库名
连接数据库的命令:
p>
Sp_attach_db
或者
sp_at
tach_single_file_db
s_attach_db
[@dbname =]
′
dbname
′
, [@filename1 =]
′
filename_n
′
[,...16]
sp_attach_single_file_db [@dbname =]
p>
′
dbname
′
, [@physname =]
′
physical_name
′
使用此方法可以正确恢复
SQL
Sever7.0
和
SQL
Server
2000
的数据库文件,
要点是备份的时候一定要将
mdf
和
ldf
两个文件都备份下来,
mdf
文件是数据库
数据文件,
l
df
是数据库日志文件。
例子:
假设数据库为
pdm
,
其数据文件为
pd
m_
,
日志文件为
pdm_
。
下面我们讨论一下如何备份、恢复该数据库。
卸下数据库:
sp_detach_db 'pdm'
连接数据库:
sp_attach_db
'pdm','C:Program FilesMicrosoft SQL
ServerMSSQLDatapdm_','C:Program
FilesMicrosoft SQL
ServerMSSQLDatapdm_'
1
sp_attach_single_file_db
'pdm','C:Program FilesMicrosoft SQL
ServerMSSQLDatapdm_'
2
、只有
mdf
文件的恢
复技术
由于种种原因,
我们如果当时仅仅备份了
mdf
文件,
那么恢复起来就是一件
很麻烦的事情了。
如果您的
mdf
文件是当前数据库产生的,那么
很侥幸,也许你使用
sp_attach_db
或者
sp_attach_single_file_db
可以恢复数据库,
但是会出现类
似下面的提示信息
设备激活错误。物理文件名
'C:Program FilesMicrosoft SQL
ServerMSSQLdatapdm_'
可能有误。
已创建名为
'C:Program
FilesMicrosoft SQL ServerMSSQLData
pdm_'
的新日志文件。
但是,
如果您的数据库文件是从其他计算机上复制过来的,
那么很不幸,
也
许上述办法就行不通了。你也许会得到类似下面的错误信息
服务器
:
消息
1813
,级别
16
,状态
2
,行
1
未能打开新数据库
'pdm'
。
CREATE
DATABASE
将终止。
设备激活错误。物理文件名
'd:pdm_'
可能有误。
怎么办呢?别着急,<
/p>
下面我们举例说明恢复办法。
现在我从其他机器上拷贝
回来了数据库文件
pdm_
到本计算机上,存放到了
E
盘的一个文件夹里
A
.我们使用
SQL
Server
企业管理器建立一个供恢复使用的数据库‘
pdm
’
,
存
p>
放
在
E
盘
(
不
要
与
拷
贝
回
来
< br>的
数
据
库
放
到
一
个
文
件
夹
就
行
p>
)
。
2
B
.停掉数据库服务器。
C
.将刚才生成的数据库的日志文件
pdm_<
/p>
删除,用要恢复的数据库
mdf
文件覆盖刚才生成的数据库数据文件
pdm_
。
3
D
.启动
数据库服务器。此时会看到数据库
pdm
的状态为“置疑”
p>
。这时候不
能对此数据库进行任何操作。
<
/p>
E
.设置数据库允许直接操作系统表。此操作可以在
SQL
Server
Enterprise
Manager
里面选择数据库服务器,按右键,选择“属性”
,在“服务器设置”页
面中将“允许对系统目录直接修改”一项选中。
4
-
-
-
-
-
-
-
-
-
上一篇:用友软件数据库置疑修复办法
下一篇:CGMP-中英文对照