SQLSERVER 9003错误解决方法 只适用于SQL2000

(只适用于SQL2000)

"无法打开新数据库 'POS'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 9003)"

看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令.

方法如下:

1.我们使用默认方式建立一个供恢复使用的数据库(如pos)。可以在SQL Server Enterprise Manager里面建立。

2.停掉数据库服务器。

3.将刚才生成的数据库的日志文件pos_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件pos_data.mdf。

4.启动数据库服务器。此时会看到数据库pos的状态为“置疑”。这时候不能对此数据库进行任何操作。

5.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

use master go exec sp_configure 'allow updates',1 go reconfigure with override go 
update sysdatabases set status=-32768 where dbid=DB_ID('pos') go

7.下面执行真正的恢复操作,重建数据库日志文件

dbcc rebuild_log('pos','D:\Program Files\Microsoft SQL Server\MSSQL\Data\pos_log.ldf') go

8.验证数据库一致性(可省略)

dbcc checkdb('pos') go

CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'pos' 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

9.设置数据库为正常状态

exec sp_dboption 'pos','dbo use only','false' go

10.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成

exec sp_configure 'allow updates',0 go reconfigure with override go

更多相关文章

  1. MySQL 5.7.9 服务无法启动-“NET HELPMSG 3534”的解决方法
  2. Android(安卓)模糊搜索rawquery bind or column index out of ra
  3. 发现 developer.android.com 官网的一个单词错误:
  4. Android调用.NET Webservice报org.ksoap2.serialization.SoapPri
  5. Android(OpenCV) NDK开发: 0xdeadbaad(code=1)错误 及 关闭armea
  6. android中HttpURLConnection调用getResponseCode()时崩溃 解决方
  7. Android空引用问题的解决方法——on a null object reference
  8. ionic android升级错误 exposed beyond app through Intent.getD
  9. Java工程中调用Android库出现“Stub!”错误

随机推荐

  1. 《MyBatis从入门到精通》读书笔记
  2. JVM 面试题解答(40道全)
  3. 到底什么是脏读和幻读?为啥网上答案不一?
  4. 报表的各种坑...
  5. 常用 Git 指令整理
  6. Spring 的核心特性
  7. CCNP(ISCW)实验:用SDM配置GRE OVER IPSEC
  8. Spring-IoC
  9. 自建 GitLab,却玩到了 VMware
  10. Spring bean 依赖查找