SQL SERVER ->> 查找自增列(IDENTITY)为INT的表剩余的自增数值剩余量

查看生产环境数据库有哪些表的自增列值可能超过INT的最大值,还剩余多少量

 

SELECT B.NAME table_name, A.NAME AS column_name, d.name AS data_type, C.rowcnt, IDENT_CURRENT(B.NAME) AS IDENT_CURR, POWER(CAST(2 AS BIGINT),31)-1-IDENT_CURRENT(B.NAME) AS remaining,1.*IDENT_CURRENT(B.NAME)/(POWER(CAST(2 AS BIGINT),31)-1) AS usage_rate
FROM sys.columns a
JOIN sys.types d ON a.system_type_id = d.system_type_id
JOIN sys.objects b ON A.object_id = B.object_id
JOIN sys.sysindexes c ON c.id = b.object_id AND c.indid IN (0,1)
WHERE is_identity = 1
AND d.name='int'
ORDER BY IDENT_CURR DESC 

 

posted @ 2021-06-10 14:24  Jerry_Chen  阅读(169)  评论(0编辑  收藏  举报