用友中无法打开数据库UFDATA
--SQL SERVER数据库置疑后恢复步骤
--1. 恢复步骤:
--a。将smlog_log。ldf文件备份到其它目录下;
--b。将源目录下的smlog_log。ldf文件改名为smlog_log_bak。 ldf;
--c。执行以下语句修改数据库的状态:
use Master
go
update sysdatabases set status=32768 where name='数据库名称' --修改状态,设为紧急状态
go
shutdown with nowait --停止数据库服务器
go
--d。 退出SQL并在(COMMAND)命令行模式中通过下面的代码...全部
--SQL SERVER数据库置疑后恢复步骤
--1. 恢复步骤:
--a。将smlog_log。ldf文件备份到其它目录下;
--b。将源目录下的smlog_log。ldf文件改名为smlog_log_bak。
ldf;
--c。执行以下语句修改数据库的状态:
use Master
go
update sysdatabases set status=32768 where name='数据库名称' --修改状态,设为紧急状态
go
shutdown with nowait --停止数据库服务器
go
--d。
退出SQL并在(COMMAND)命令行模式中通过下面的代码重新启动SQL:
sqlservr -c -T3608 -T4022 --安全模式启动SQL SERVER
--e。在查询分析器中执行以下语句来查看刚刚修改过状态的数据库状态:
select Name,Status from sysdatabases where Name='数据库名称'
--f。
执行以下代码新建日志文件:
dbcc traceon(3604)--跟踪
dbcc rebuild_log('数据库名称','日志文件全路径') --文件名要有全路径和扩展名
--dbcc rebuild_log('prs_msc','d:\mscsql\mssql\data\prs_msc_log。
ldf
--g。将数据库置回正常状态:
update sysdatabases set status=0 where name='数据库名称'
--h。重新启动数据库后执行以下语句检查数据库:
DBCC CHECKDB --如果执行完有错误用以下语句修复
--i。
要修复数据库必需将数据库改为单用户模式:
Exce sp_dboption '数据库名称','single user','true'---('false'恢复多用户)
--j。
执行以下语句修复数据库:
DBCC CHECKDB('数据库名称',REPAIR_ALLOW_DATA_LOSS)
REPAIR_ALLOW_DATA_LOSS:是比较高级的修复方式 。收起