请教一下大家获取获取SQL Server数据库文件的I/O统计信息失败!!
在SQL Server数据库巡检时,执行如下入语句获取数据库文件的I/O统计信息时:
select
@@IO_BUSY,--SQL自上次启动以来的用于执行输入和输出操作的时间
@@timeticks, --每个时钟周期对应的微秒数
@@IO_BUSY*@@timeticks as 'I/O 操作毫秒数',
getdate() as '当前时间'
提示:消息 8115,级别 16,状态 2,第 1 行
将 expression 转换为数据类型 int 时出现算术溢出错误。
请各位大侠帮忙解释解决一下,不胜感激! sql?server 数据库 io
[解决办法]
原因@@IO_BUSY*@@timeticks超出了int的范围
[解决办法]
select
@@IO_BUSY,--SQL自上次启动以来的用于执行输入和输出操作的时间
@@timeticks, --每个时钟周期对应的微秒数
CONVERT(bigint,@@IO_BUSY)*CONVERT(bigint,@@timeticks) as 'I/O 操作毫秒数',
getdate() as '当前时间'
/*
(无列名) (无列名)I/O 操作毫秒数当前时间
2570023125080313125002013-03-21 08:52:30.123
*/