sqlserver2000附加数据库错误823的解决方案

一、SQL-Server附加数据库时失败。
1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。
2、异常分析:关于823错误的 SQL-SERVER 中的帮助:
================================

错误 823
严重级别 24
消息正文
在文件 "%4!" 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释
Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。
3、解决办法:
在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句:
第一、

exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打开修改系统表的开关 */

第二、

update sysdatabases set status=32768 where name='数据库名' /* 设置数据库状态 */

Continue reading

sqlserver日志删除

长期积累,sqlserver数据库日志文件会变的非常大,确保日志文件不再使用的前提下,可以删除日志文件,对数据库瘦身。具体方法如下:

1. 打开SQL查询分析器,选择数据库,键入:dump transaction db_name with no_log,运行即可。

2. setp1完成后,使用企业管理器,打开数据库,右击当前数据库→所有任务→收缩数据库→点击文件→下拉选择数据文件、日志文件→点选“收缩文件至”选项,指定文件大小,确定即可。

注意:此操作,收缩数据库,文件大小的调整,sqlserver会指定一个最小文件大小,设定值不能超过此值。

其它方法请参考:http://www.bitscn.com/pdb/mssql/201010/191420.html