电脑重装系统,sql server 2000 数据库附加不上去,提示:无效的数据库文件

lbkbox 2009-07-24 03:35:40
电脑重装系统,sql server 2000 数据库附加不上去,提示:无效的数据库文件
头一天晚上电脑还好好的,第二天早上,电脑启动不了,重装系统和sql server 2000 ,然后附加数据库,结果提示:无效的数据库文件,哪位能帮我搞定,给100分
...全文
631 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
houjunli 2009-07-28
  • 打赏
  • 举报
回复
你是分离出来的还是备份出来的,你附加应该是分离出来的才能附加
yct0605 2009-07-28
  • 打赏
  • 举报
回复
lz的数据库文件是什么类型的,是备份的还是分离出来的文件啊?
FOT_SQLServer 2009-07-28
  • 打赏
  • 举报
回复
如果数据库不大,发给我帮你看一下!
--------------------------------------------
QQ:1209667578 提供SQLServer数据库修复和优化服务!
chaozi_249 2009-07-26
  • 打赏
  • 举报
回复
如果是MDF,LDF 附加的时候应该没有什么问题,
如果是备份的话,必须用还原来实现,强性还原。
饮水需思源 2009-07-26
  • 打赏
  • 举报
回复
安装sql2000sp4试试
netcup 2009-07-25
  • 打赏
  • 举报
回复
看样子他应该是附加数据库的,是MDF文件
试着把MDF和LDF拷贝到其他SQLSERVER的机器上尝试附加下。
仙道彰 2009-07-24
  • 打赏
  • 举报
回复
还原数据库

1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是bbs_data.mdf,现在的数据库是forum,就改成forum_data.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是*_log.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:\sqldata\bbs_data.mdf或者d:\sqldata\bbs_log.ldf),否则恢复将报错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复
--小F-- 2009-07-24
  • 打赏
  • 举报
回复
注意:在做任何数据库操作前请一定注意先备份数据库。
第一步:建立一个为LOCAL的数据库。
第二步:停止SQLSERVER服务。
第三步:把无法附加的数据库文件替换刚才新建的数据库。
做完前面3步后启动服务后可以发现刚才的数据库是处于“置疑“状态。
第四步:运行如下脚本
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='local'
Go
sp_dboption 'local', 'single user', 'true'
Go
DBCC CHECKDB('local')
Go
update sysdatabases set status =28 where name='local'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'local', 'single user', 'false'
Go
运行完此脚本后数据库就不再是置疑状态了

这个时候我们就可以吧数据库里面的内容导入到新的数据库中。
把数据库导入到新的库中有多种方法。
使用DTS把所有数据库导入到另外的数据库。
使用 insert into local1.dbo.hst_cashserial select * from local.dbo.hst_cashserial把所有表插入到新的数据库中。(上面一条语句只插入了一个表)
这样新的数据库就可以正常使用了。
仙道彰 2009-07-24
  • 打赏
  • 举报
回复
你是分离数据库的文件还是备份文件?
xzq686 2009-07-24
  • 打赏
  • 举报
回复
备份的是什么文件?
不能附加,能还原不?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧