你恢复后,别重启,直接把数据都导出来把。之前帮一个网友看了一个问题,就是能恢复,但是只要一设置状态为online,就又不行了。最后,把表定义,还有数据,全部导出来了。
解决方案 »
- 我在数据库存储了一些计划,里面有创建,结束时间和计划状态等,请问如何根据结束时间自动更改状态?是不是要写存储过程还是触发器?
- 请问CONVERT()是什么函数啊!!!
- 如何查找一个表的主键
- 难题:为什么SQL SERVER合并字符串最多只能是256个字符,郁闷!
- 查找某字段是否包含一文字,用chartindex快还是用like快
- 怎么查询总分在前15名的信息,并按总分降序排列?
- SQL*Plus登陆问题!
- win8安装SQL2008时遇到问题,求大神指导
- 如果计算一个结果集中,每条记录的金额占总金额的比例?达到一定比例后,后续记录不再显示。
- sql同时取第1行和最后一行的数据
- 数据库问题?
- 数据查询问题
在sql server 2008中,有一个导出脚本的功能,可以导出脚本,和数据的,不知道2000上有没有
goalter database [置疑的数据库名] set emergency --> 将数据库设为紧急状态.
先分离数据库
企业管理器--右键cyls1的数据库--所有任务--分离数据库
然后备份你的cyls1数据库的文件,再按下面的步骤处理:
1.新建一个同名的数据库
2.再停掉sql server
3.用cyls1数据库的文件覆盖掉这个新建的同名数据库
4.再重启sql server
5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
USE MASTER
GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑数据库'
Go --此时需要重建日志
dbcc rebuild_log('cyls1','d:\cyls1.ldf') --日志文件路径自己根据需要修改
--执行重建日志时,如果在指定路径已存在cyls1.ldf,会报错,先删掉那个cyls1.ldf,再执行重建日志的语句 update sysdatabases set status =28 where name='置疑数据库'
Go sp_configure 'allow updates', 0 reconfigure with override
Go上面的执行完成后,需要对数据进行检查和修复,执行下面的脚本,直到没有错误为止,如果有某个表总是报同样的错误,需要单独处理这个表的数据exec sp_dboption 'cyls1', N'single', N'true' --将目标数据库置为单用户状态
dbcc checkdb('cyls1',REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb('cyls1',REPAIR_REBUILD)
exec sp_dboption 'cyls1', N'single', N'false'--将目标数据库置为多用户状态 如果总是结果是同样的表有错误,应该针对表做dbcc checktable