خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه Rebuild کردن همه Index های دیتابیس با استفاده از اسکریپت در SQL Server

نحوه Rebuild کردن همه Index های دیتابیس با استفاده از اسکریپت در SQL Server
با استفاده از اسکریپت زی در SQL Server می توانید Index های یک دیتابیس را Rebuild کنید. Rebuild یا Reorganize کردن Index ها یک کار بسیار معمول برای DBA است. حتما بصورت دوره ای به منظور Performance بهتر، باید اقدام به اینکار کنید.

سیستم یکپارچۀ سازمانی راهکار
به این مورد توجه داشته باشید که اسکریپت زیر عملیات Rebuild کردن Index ها را در سطح یک دیتابیس و نه فقط یک جدول انجام می دهد. ضمنا Rebuild کردن Index ها، کاری سنگین بوده و در ساعاتی که فشار روی دیتابیس وجود ندارد و یا در ساعات غیرکاری سازمان اقدام به اینکار کنید.



DECLARE @DatabaseName SYSNAME   = DB_NAME()
DECLARE @TableName VARCHAR(256)
--DECLARE @FILLFACTOR INT = 85
DECLARE @SQL NVARCHAR(MAX) =

'DECLARE curAllIndex CURSOR FOR SELECT TABLE_SCHEMA +
''.'' + TABLE_NAME AS TABLENAME
FROM ' + @DatabaseName + '.INFORMATION_SCHEMA.TABLES WHERE
TABLE_TYPE = ''BASE TABLE'''

BEGIN
EXEC sp_executeSQL @SQL
OPEN curAllIndex
FETCH NEXT FROM curAllIndex INTO @TableName
WHILE (@@FETCH_STATUS = 0)
BEGIN
/* -- For using FillFactor setting.
SET @DynamicSQL = 'ALTER INDEX ALL ON ' + @TableName +
' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR,@FILLFACTOR) + ')'
*/
SET @SQL = 'ALTER INDEX ALL ON ' + @TableName +
' REBUILD '
PRINT @SQL
EXEC sp_executeSQL @SQL
FETCH NEXT FROM curAllIndex INTO @TableName
END
CLOSE curAllIndex
DEALLOCATE curAllIndex
END


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز