回 帖 发 新 帖 刷新版面

主题:附加数据库出错

近期公司服务器垮了,sqlserver库文件都在.有29个mdf和6个ldf文件.
 现在得附加数据库.
    不知道设计的人如何实现mdf分离技术,而且现在附加数据一直不行,最多只能附加16个mdf.29个mdf只是一个数据库,保证数据的完整性,一起附加一直报错:
   错误:9003:LSN(1164:3659:5)无效.该LSN是传递给数据库'tms_sms'中的日志扫描操作的.
  在网上一直查找解决办法:
      应该是数据文件或者日志文件损坏了。
1)设置数据库为紧急模式
停掉SQL Server服务;
把应用数据库的数据文件XXX_Data.mdf移走;
重新建立一个同名的数据库XXX;
停掉SQL服务;
把原来的数据文件再覆盖回来;
运行以下语句,把该数据库设置为紧急模式;
运行“Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go”

执行结果:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
已将配置选项 'allow updates' 从 0 改为 1。请运行 RECONFIGURE 语句以安装。

接着运行“update sysdatabases set status = 32768 where name = 'XXX'”


重启SQL Server服务;
运行以下语句,把应用数据库设置为Single User模式;
运行“sp_dboption 'XXX', 'single user', 'true'”

执行结果:
命令已成功完成。

做DBCC CHECKDB;

运行“DBCC CHECKDB('XXX')”
运行以下语句把系统表的修改选项关掉;
运行“sp_resetstatus "XXX"
go
sp_configure 'allow updates', 0
reconfigure with override
重新建立另外一个数据库XXX.Lost;
2)DTS导出向导
运行DTS导出向导;

这样,XXX.Lost数据库就可以替换原来的应用数据库了。
=========================
   但问题依旧。。仍然报错,不知有谁遇到过这个问题.

回复列表 (共5个回复)

沙发

29个mdf只是一个数据库
===========
一个mdf就是一个数据库啊,难道29个的文件名都一样吗

板凳

29个mdf是一个数据库,当然呀.
   tem_sms_data_0.mdf
tem_sms_data_1.mdf
tem_sms_data_2.mdf
tem_sms_data_3.mdf
    .................一直到28.
  不错吧,可能这种数据库,极少见.29个库共有21个G.

3 楼

以下是联机丛书

SQL Server 2000 数据库有三种类型的文件: 

主要数据文件 
主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。

次要数据文件 
次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。

日志文件 
日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。

4 楼

[quote]以下是联机丛书

SQL Server 2000 数据库有三种类型的文件: 

主要数据文件 
主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。

次要数据文件 
次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。

日志文件 
日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。

[/quote]
======================================
   这个我当然知道,现在别人用了库文件切割技术,我也不知道怎么实现的,可以把库,分割开来.一个数据库,可以有多个mdf和ldf的.

5 楼

没听说过

我来回复

您尚未登录,请登录后再回复。点此登录或注册