解决方案 »
- 如何在windows xp上安装SQLServer2005?
- 折磨半天,找不出原因
- 怎样才能将XML文件导入SQL Server 2005?
- SQL 如何将一个字段中的空格过滤
- 这样的sql语句可以写出来吗?
- 错误错误
- sqlserver中四种服务:Distributed Transaction Coordinator,Microsoft Search,Sql Server,Sql Server Agent 前面两种分别起什么作用?
- datetime类型的分组问题
- 求教!
- 请问如果一台机器上有多个SQL SERVER实例,如何连接到非默认的实例上?
- sql server 查询语句 超时问题
- sql语句查询条件的值改变速度无比慢?
你写个定时任务呗,运行下面的代码,返回数据库的状态:
select name,
state_desc --状态,可能是online,offline,suspect等
from sys.databases
你写个定时任务呗,运行下面的代码,返回数据库的状态:
select name,
state_desc --状态,可能是online,offline,suspect等
from sys.databases
上面返回的 state_desc --状态,可能是online,offline,suspect等
不是很懂,我也查看了MSDN,关于他的解释,但是我对一个数据库用DBCC CHECKDB 是错误,但是,这个数据库的 state_desc --状态 一直都是online,为什么不是suspect?一直都搞不懂?麻烦可以说说DBCC CHECKDB 报错的数据库,他的状态怎么还是online?
你写个定时任务呗,运行下面的代码,返回数据库的状态:
select name,
state_desc --状态,可能是online,offline,suspect等
from sys.databases
上面返回的 state_desc --状态,可能是online,offline,suspect等
不是很懂,我也查看了MSDN,关于他的解释,但是我对一个数据库用DBCC CHECKDB 是错误,但是,这个数据库的 state_desc --状态 一直都是online,为什么不是suspect?一直都搞不懂?麻烦可以说说DBCC CHECKDB 报错的数据库,他的状态怎么还是online?你说的对,这个还真不确定。比如有个,或者有一些数据页,也就是page损坏了,那么整个数据库还是online。
这个可以在如下的语句中查询到,里面是有问题的数据页:select *
from msdb.dbo.suspect_pages
如果是数据库有重大的损坏,那么就会处于suspect状态,或者是其他的比如restoring状态,那么这个应该能查询到:select name,
state_desc --状态,可能是online,offline,suspect等
from sys.databases
而如果某个文件有问题,你可以查询这个视图看看:select DB_NAME(database_id) as database_name,
name as file_logical_name,
physical_name,
state_desc
from sys.master_files
你写个定时任务呗,运行下面的代码,返回数据库的状态:
select name,
state_desc --状态,可能是online,offline,suspect等
from sys.databases
上面返回的 state_desc --状态,可能是online,offline,suspect等
不是很懂,我也查看了MSDN,关于他的解释,但是我对一个数据库用DBCC CHECKDB 是错误,但是,这个数据库的 state_desc --状态 一直都是online,为什么不是suspect?一直都搞不懂?麻烦可以说说DBCC CHECKDB 报错的数据库,他的状态怎么还是online?你说的对,这个还真不确定。比如有个,或者有一些数据页,也就是page损坏了,那么整个数据库还是online。
这个可以在如下的语句中查询到,里面是有问题的数据页:select *
from msdb.dbo.suspect_pages
如果是数据库有重大的损坏,那么就会处于suspect状态,或者是其他的比如restoring状态,那么这个应该能查询到:select name,
state_desc --状态,可能是online,offline,suspect等
from sys.databases
而如果某个文件有问题,你可以查询这个视图看看:select DB_NAME(database_id) as database_name,
name as file_logical_name,
physical_name,
state_desc
from sys.master_files
楼上说的很完整了,查数据库的状态,MSDB的suspect_pages,还有一个就是查询SQL Server Error Log 比如823,824类似的错误。
SQL Server中数据库损坏的代码是824,其内容:
SQL Server 检测到基于一致性的逻辑 I/O 错误 %1!。在文件 '%6!' 中、偏移量为 %5! 的位置对数据库 ID %4! 中的页 %3! 执行 %2! 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。