1
MSSQL 2008에서 잠재적으로 8060 바이트보다 긴 테이블을 식별하는 데 도움이되는 쿼리가 있습니까? 데이터 행의 최대 크기라는 것을 알고 있습니다.긴 행 식별을위한 쿼리
예 :
create table a (
a varchar(4000),
b varchar(4000),
c varchar(4000)
)
MSSQL 2008에서 잠재적으로 8060 바이트보다 긴 테이블을 식별하는 데 도움이되는 쿼리가 있습니까? 데이터 행의 최대 크기라는 것을 알고 있습니다.긴 행 식별을위한 쿼리
예 :
create table a (
a varchar(4000),
b varchar(4000),
c varchar(4000)
)
빠르고 지저분한 것.
SELECT OBJECT_NAME(object_id),SUM(max_length)
FROM sys.columns
WHERE is_computed=0 and OBJECTPROPERTY(object_id,'IsUserTable')=1
GROUP BY object_id
HAVING SUM(max_length) > 8060 or MIN(max_length)=-1 /*MAX datatype*/
삭제되거나 변경된 열은 여전히 낭비되는 공간을 소비 할 수 있습니다. 이것은 당신이 실제로 할당 행 페이지를 가지고 객체를 결정하는 sys.dm_db_partition_stats
보고 더 나을 수도 sys.system_internals_partition_columns
을 통해 볼 수 있습니다.