请教一下大家获取获取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 操作毫秒数 当前时间
257002 31250 8031312500 2013-03-21 08:52:30.123
*/
int 2147483647 最大,8031312500超过最大了。