3
데이터베이스의 모든 테이블의 기본 키에있는 채우기 인수를 수정하는 작동 방법이 있습니까?MS SQL 2008 R2의 모든 테이블에서 기본 키의 채우기 비율 수정
데이터베이스의 모든 테이블의 기본 키에있는 채우기 인수를 수정하는 작동 방법이 있습니까?MS SQL 2008 R2의 모든 테이블에서 기본 키의 채우기 비율 수정
이 스크립트는 모든 기본 키를 찾고 각각에 대해 ALTER INDEX 문을 작성하고 실행합니다.
---- change this to your desired value ----
DECLARE @NewFillFactor smallint = 92
-------------------------------------------
DECLARE @TableName varchar(300), @IndexName varchar(300), @sql varchar(max)
DECLARE inds CURSOR FAST_FORWARD FOR
SELECT TABLE_NAME, CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE='PRIMARY KEY'
OPEN inds
FETCH NEXT FROM inds INTO @TableName, @IndexName
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'ALTER INDEX [' + @IndexName + '] ON [dbo].[' + @TableName + '] REBUILD WITH (FILLFACTOR = ' + cast(@NewFillFactor as varchar(3)) + ')'
PRINT @sql
EXEC(@sql)
FETCH NEXT FROM inds INTO @TableName, @IndexName
END
CLOSE inds
DEALLOCATE inds
PRINT 'Done'