Я устал заново индексировать / перестраивать каждую имеющуюся у меня таблицу, есть ли способ сделать это для всей базы данных?
Самый простой способ сделать это - использовать чужие сценарии обслуживания. Ола Халленгрен самые известные и бесплатные, но Minion Ware также имеет бесплатный скрипт переиндексации..
Если по какой-то причине вы не можете этого сделать, возможно, сработает что-то вроде этого:
Use YourDB
Declare @TBname nvarchar(255),
@SQL nvarchar(max)
select @TBname = min(TABLE_NAME) from INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
while @TBname is not null
BEGIN
set @SQL='ALTER INDEX ALL ON [' + @TBname + '] REBUILD;'
--print @SQL
EXEC SP_EXECUTESQL @SQL
select @TBname = min(TABLE_NAME) from INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' and TABLE_NAME > @TBname
END