如何修复SQLSERVER置疑之
来源:互联网 发布:php处理ajax跨域 编辑:程序博客网 时间:2024/06/10 06:13
如果因为磁盘可用空间不足,而不能完成数据库的恢复,那么 SQLSERVER2000会返回错误1105并且将sysdatabases中的status列设为置疑。
你可以看到在SQLSERVER的ERRORLOG和OS的应用程序日志中应该有1105的错误信息:
SQLSERVER事务日志可能会被填满,这会阻止之后的数据库操作,包括UPDATE,DELETE,INSERT和CHECKPOINT。
事务日志填满会导致1105错误:
Can'tallocatespaceforobjectsyslogsindatabasedbnamebecause
thelogsegmentisfull。Ifyouranoutofspaceinsyslogs,dump
thetransactionlog。OtherwiseuseALTERDATABASEor
sp_extendsegmenttoincreasethesizeofthesegment。
这种现象可能出现于任何一个数据库中,包括Master和TempDB。一些难以预见的因素可能消耗日志空间。例如:
一个大型事务,尤其像批量数据更新、插入或删除。
一个未提交的事务。
检查点处理程序截除时所需的带宽过大。
截除时超过阈值
上述各种条件互相作用的结果。
用于发布的标记事务没有被日志读取程序读走
下面是修复的步骤和收缩日志的步骤:
1.在命令提示符下运行以下命令启动SQLSERVER:
SQLSERVER-f-m
备注:-m开关以单用户模式启动SQLSERVER。在单用户模式下,只能成功建立一个连接。请注意是否有任何其他客户机或服务可能会在您通过SQLSERVER查询分析器 建立连接前使用那个连接。
2.重置置疑数据库的状态。
sp_resetstatus'database_name'
下面是结果集:
Database'database_name'statusreset!
WARNING:YoumustrebootSQLSERVERpriortoaccessingthisdatabase!
3.用ALTERDATABASE向数据库添加一个数据文件或日志文件:
USEmaster
GO
CREATEDATABASEdb_nameON
(
NAME=dbname_dat1,
FILENAME='D://Data/dbname_dat1.ndf',
SIZE=1000MB,
FILEGROWTH=50MB
)
GO
--更改该数据库以添加一个2GB大小的新数据文件
ALTERDATABASEdb_name
ADDFILE
(
NAME=dbname_dat2,
FILENAME='F:/MSSQL/DATA/dbname_dat2.ndf',
SIZE=2000MB,
FILEGROWTH=50MB
)
GO
--更改该数据库以添加一个1GB大小的新日志文件
ALTERDATABASEdb_name
ADDLOGFILE
(NAME=db_name_log2,
FILENAME='F:/MSSQL/Data/db_name_log2.ldf',
SIZE=1000MB,
FILEGROWTH=20MB),
GO
4.停止并重新启动SQLSERVER:
用新的数据文件或日志文件所提供的额外空间,SQLSERVER应该能完成数据库的恢复。
5.释放磁盘空间并且重新运行恢复操作,按照下面的步骤收缩日志。
sp_resetstatus关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。
为从根本上解决这样的问题,你可以按下面的操作配置SQLSERVER2000:
a.如果不需要恢复到指定的时间点,你可以将数据库的恢复模式配置为简单,这样
UPDATE,DELETE,SELECT就不会记录日志,日志就不会增加的很大:
USEMASTER
GO
ALTERDATABASEDB_NAMESETRECOVERYSIMPLE
b.如果你的恢复模式是全部,你一定要配置日志字段收缩:
USEMASTER
GO
sp_dboption'databasename','trunc.logonchkpt.',true1
- 如何修复SQLSERVER置疑之
- 如何修复SQLSERVER 数据库"置疑"之(二)
- 如何修复SQLSERVER"置疑"之(二)
- 如何修复SQLSERVER数据库"置疑"问题
- SQL2000置疑数据库修复
- SQL数据库置疑修复
- MSDB置疑修复
- sqlserver “置疑”解决办法
- SQLServer数据库置疑处理
- sqlserver数据库置疑解决
- sqlserver数据库置疑解决
- 修复Pubwin EP置疑数据库
- 修复数据库置疑的语法
- mssql数据库823置疑修复
- SQL数据库修复/数据库置疑修复
- SqlServer数据库置疑的解决办法
- SqlServer数据库置疑的解决办法
- SqlServer 2005/2008 置疑解决
- 利用sp自制未公开的加密函数
- 2005常见问题解答
- 在SQL2005轻松配置SSIS包
- 高薪吸引电子工程教授频繁跳槽
- 服务器安装剖析
- 如何修复SQLSERVER置疑之
- 动态SQL语句
- 从SQL中的一个表中导出文件表格
- SQLServer和常用函数对比
- 删除全文索引
- 复制表结构的通用存储过程
- 取汉字拼音首字母的存储过程
- 中格式化表中的数据
- SQLSERVER的命名规则