我现在只有mdf 和ldf这两个文件 ,没有备份。
请高手帮忙解决下,万分感谢!
21 个解决方案
#1
1、附加数据库
2、建立一个同名的数据库,建立数据库的时候文件名要和你现有的文件名相同,然后用现有的文件名进行覆盖(需要先停止服务)
2、建立一个同名的数据库,建立数据库的时候文件名要和你现有的文件名相同,然后用现有的文件名进行覆盖(需要先停止服务)
#2
以下内容来自google...
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE ’ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=’置疑的数据库名’
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’true’
Go
DBCC CHECKDB(’置疑的数据库名’)
Go
update sysdatabases set status =28 where name=’置疑的数据库名’
Go
sp_configure ’allow updates’, 0 reconfigure with override
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’false’
Go
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE ’ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=’置疑的数据库名’
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’true’
Go
DBCC CHECKDB(’置疑的数据库名’)
Go
update sysdatabases set status =28 where name=’置疑的数据库名’
Go
sp_configure ’allow updates’, 0 reconfigure with override
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’false’
Go
#3
http://topic.csdn.net/t/20031220/01/2583703.html
#4
[align=right] 备份你的数据文件,试试按下面的步骤处理能否解决:
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go
sp_dboption '置疑的数据库名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的数据库名')
Go
update sysdatabases set status =28 where name='置疑的数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的数据库名', 'single user', 'false'
Go[/align]
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go
sp_dboption '置疑的数据库名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的数据库名')
Go
update sysdatabases set status =28 where name='置疑的数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的数据库名', 'single user', 'false'
Go[/align]
#5
执行UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='Shopdb'的时候报错。错误:
消息 259,级别 16,状态 1,第 1 行
不允许对系统目录进行即席更新。
怎么回事?
消息 259,级别 16,状态 1,第 1 行
不允许对系统目录进行即席更新。
怎么回事?
#6
1.关闭SQLSERVER
2.删除你测试中产生的:.ldf
3.重启SQLSERVER
sp_attach_single_file_db [ @dbname = ] 'dbname'
, [ @physname = ] 'physical_name'
#7
现在运行DBCC CHECKDB('置疑的数据库名')时出错
错误:
服务器: 消息 8908,级别 16,状态 1,行 1
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
错误:
服务器: 消息 8908,级别 16,状态 1,行 1
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
#8
sp_dboption '置疑的数据库名', 'single user', 'true'
go
dbcc checkdb('置疑的数据库名',REPAIR_ALLOW_DATA_LOSS)
go
dbcc checkdb('置疑的数据库名',REPAIR_ALLOW_DATA_LOSS)
#9
执行dbcc checkdb('置疑的数据库名',REPAIR_ALLOW_DATA_LOSS)
错误:
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
执行
exec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
错误:
由于数据移动,未能继续以 NOLOCK 方式扫描。
错误:
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
执行
exec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
错误:
由于数据移动,未能继续以 NOLOCK 方式扫描。
#10
文件多大? 提供下,我帮你看看 。 邮箱 214455969@qq.com
#11
发给你了 450多M
#12
要哪个表数据?
#13
看了 能看到一些表 ,还有 sysobjects系统表有数据块缺失 。不知道你这个文件是怎么造成的。
#14
你用MDF强制附加,然后,生成LDF,试下,应该可以解决。
#15
如果步骤上有什么困难,可以把库发来我帮你搞。
#16
数据页缺损 ,不是什么日志问题.
#17
能把能看到的表的数据都给我弄出来吗 ,新建个库,然后给我个备份,谢谢了
另外,能告诉我你怎么办到的吗 万分感谢 !
#18
关注...
#19
数据页缺损,也没有关系,顶多表链断掉,重新补一下,通过系统表修复一下就可以了。要是没有人帮忙,把库发给我,我给你搞。
#20
我也遇到这类问题了,有一个6M多的文件,谁能帮忙看一下
#21
我也遇到这个问题了 是优盘复制备份 造成的!!怎么办?谁帮忙修复一下
#1
1、附加数据库
2、建立一个同名的数据库,建立数据库的时候文件名要和你现有的文件名相同,然后用现有的文件名进行覆盖(需要先停止服务)
2、建立一个同名的数据库,建立数据库的时候文件名要和你现有的文件名相同,然后用现有的文件名进行覆盖(需要先停止服务)
#2
以下内容来自google...
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE ’ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=’置疑的数据库名’
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’true’
Go
DBCC CHECKDB(’置疑的数据库名’)
Go
update sysdatabases set status =28 where name=’置疑的数据库名’
Go
sp_configure ’allow updates’, 0 reconfigure with override
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’false’
Go
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE ’ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=’置疑的数据库名’
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’true’
Go
DBCC CHECKDB(’置疑的数据库名’)
Go
update sysdatabases set status =28 where name=’置疑的数据库名’
Go
sp_configure ’allow updates’, 0 reconfigure with override
Go
sp_dboption ’置疑的数据库名’, ’single user’, ’false’
Go
#3
http://topic.csdn.net/t/20031220/01/2583703.html
#4
[align=right] 备份你的数据文件,试试按下面的步骤处理能否解决:
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go
sp_dboption '置疑的数据库名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的数据库名')
Go
update sysdatabases set status =28 where name='置疑的数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的数据库名', 'single user', 'false'
Go[/align]
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用要附加的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go
sp_dboption '置疑的数据库名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的数据库名')
Go
update sysdatabases set status =28 where name='置疑的数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的数据库名', 'single user', 'false'
Go[/align]
#5
执行UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='Shopdb'的时候报错。错误:
消息 259,级别 16,状态 1,第 1 行
不允许对系统目录进行即席更新。
怎么回事?
消息 259,级别 16,状态 1,第 1 行
不允许对系统目录进行即席更新。
怎么回事?
#6
1.关闭SQLSERVER
2.删除你测试中产生的:.ldf
3.重启SQLSERVER
sp_attach_single_file_db [ @dbname = ] 'dbname'
, [ @physname = ] 'physical_name'
#7
现在运行DBCC CHECKDB('置疑的数据库名')时出错
错误:
服务器: 消息 8908,级别 16,状态 1,行 1
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
错误:
服务器: 消息 8908,级别 16,状态 1,行 1
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
#8
sp_dboption '置疑的数据库名', 'single user', 'true'
go
dbcc checkdb('置疑的数据库名',REPAIR_ALLOW_DATA_LOSS)
go
dbcc checkdb('置疑的数据库名',REPAIR_ALLOW_DATA_LOSS)
#9
执行dbcc checkdb('置疑的数据库名',REPAIR_ALLOW_DATA_LOSS)
错误:
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
执行
exec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
错误:
由于数据移动,未能继续以 NOLOCK 方式扫描。
错误:
表错误: 数据库 ID 14,对象 ID 1,索引 ID 0。链的链接不匹配。(1:981)->next = (1:619),但 (1:619)->prev = (1:54688)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
执行
exec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
错误:
由于数据移动,未能继续以 NOLOCK 方式扫描。
#10
文件多大? 提供下,我帮你看看 。 邮箱 214455969@qq.com
#11
发给你了 450多M
#12
要哪个表数据?
#13
看了 能看到一些表 ,还有 sysobjects系统表有数据块缺失 。不知道你这个文件是怎么造成的。
#14
你用MDF强制附加,然后,生成LDF,试下,应该可以解决。
#15
如果步骤上有什么困难,可以把库发来我帮你搞。
#16
数据页缺损 ,不是什么日志问题.
#17
能把能看到的表的数据都给我弄出来吗 ,新建个库,然后给我个备份,谢谢了
另外,能告诉我你怎么办到的吗 万分感谢 !
#18
关注...
#19
数据页缺损,也没有关系,顶多表链断掉,重新补一下,通过系统表修复一下就可以了。要是没有人帮忙,把库发给我,我给你搞。
#20
我也遇到这类问题了,有一个6M多的文件,谁能帮忙看一下
#21
我也遇到这个问题了 是优盘复制备份 造成的!!怎么办?谁帮忙修复一下