我找到了这个脚本
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)
行将按大小排序,因此您可以从上到下进行检查.