加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 如何获取SQL Server表中每行的实际数据大小?

发布时间:2021-06-03 16:34:15 所属栏目:编程 来源:网络整理
导读:我找到了这个剧本 sql-server-2005-reaching-table-row-size-limit 这好像返回每个界说的数据范例长度的行巨细.我必要一个剧本,它会给我表中的全部行,它们的最大数据巨细高出提议的8024(无论MS保举什么) 办理要领 试试这个剧本: declare @table nvarchar(128

我找到了这个剧本
sql-server-2005-reaching-table-row-size-limit
这好像返回每个界说的数据范例长度的行巨细.我必要一个剧本,它会给我表中的全部行,它们的最大数据巨细高出提议的8024(无论MS保举什么)

办理要领

试试这个剧本:
declare @table nvarchar(128)
declare @idcol nvarchar(128)
declare @sql nvarchar(max)

--initialize those two values
set @table = 'YourTable'
set @idcol = 'some id to recognize the row'

set @sql = 'select ' + @idcol +',(0'

select @sql = @sql + ' + isnull(datalength(' + name + '),1)' 
        from  sys.columns 
        where object_id = object_id(@table)
        and   is_computed = 0
set @sql = @sql + ') as rowsize from ' + @table + ' order by rowsize desc'

PRINT @sql

exec (@sql)

行将按巨细排序,因此您可以从上到下举办搜查.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读