🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂
🚀 RoketNot Giriş Yap
🚀 RoketNot Kaydol
Ramazan HABER /
MSSQL RMOS / mssql tüm tabloların indexini yenileme silip tekrar otamatik oluşturma Non clustered index Refreshing and deleting the index of all tables and creating them again automatically
1-) MSSQL RMOS - mssql tüm tabloların indexini yenileme silip tekrar otamatik oluşturma Non clustered index Refreshing and deleting the index of all tables and creating them again automatically
1- tek tablonun tüm indexlerini yenilemek
ALTERINDEXALLON dbo.TabloAdi REBUILD;
2- tek tablonun tek indexini yenilemek
ALTERINDEX indexAdi ON TabloAdi REBUILD
3- Tüm tabloların tüm indexini yenileme
USE Pub21;-- Bu satırı kendi veritabanı adınıza göre güncelleyin
GO
DECLARE @TableName NVARCHAR(256);
DECLARE @SQL NVARCHAR(MAX);
DECLARE TableCursor CURSORFOR
SELECT s.name+'.'+ t.nameAS TableName
FROMsys.tables t
JOINsys.schemas s ON t.schema_id= s.schema_id;
OPEN TableCursor;
FETCHNEXTFROM TableCursor INTO @TableName;
WHILE@@FETCH_STATUS= 0
BEGIN
SET @SQL =N'ALTER INDEX ALL ON '+ @TableName +' REBUILD;';
PRINT @SQL;-- Bu satırı, çalıştırılacak SQL komutunu görmek için ekledim
--EXEC sp_executesql @SQL;
FETCHNEXTFROM TableCursor INTO @TableName;
END;
CLOSE TableCursor;
DEALLOCATE TableCursor;
GO
4- rebuild yerine drop ardından create yapabilirsin. -> index varsa drop yap ardından create yap. (2.yol)
not : procedürün içine yazdım (Ayrıca aşağıdaki kodda index oluşturmada var!!! )
CREATE proc [dbo].[indexBas] asbegin
IFEXISTS(SELECTnameFROMsys.indexesWHEREname=N'barkodIndex')DROPINDEX barkodIndex ON dbo.Firma;
CREATENONCLUSTEREDINDEX barkodIndex ON dbo.Firma([barkod]);