Я хочу удалить некластеризованные индексы из скрипта, используя PowerShell, возможно, Regex.Предыстория: у нас много данных в базе данных, и мы хотим предотвратить создание или изменение некластеризованных индексов в течение 1 часа от времени создания индекса.Как провести это с PowerShell?PowerShell примет входной сценарий и отредактирует его соответствующим образом.
Опубликовать сценарий профиля:
Create table dbo.Test(TestId int, ColumnA int, ColumnB int)
GO
CREATE NONCLUSTERED INDEX [ncx_Test_ColumnA]
ON [dbo].[Test]([ColumnA] ASC);
GO
PRINT N'Creating [ncx_Test_ColumnA]...';
GO
CREATE NONCLUSTERED INDEX [ncx_Test_ColumnB]
ON [dbo].[Test]([ColumnB] ASC);
GO
PRINT N'Creating [ncx_Test_ColumnB]...';
GO
create procedure dbo.TestSelect1
as select 1
В приведенном выше сценарии я хочу удалить «Создание строк некластеризованного индекса,(и дополнительный бонус не требуется) будет удалять соответствующие операторы Print, сохранять все остальное, таблицы и хранимые процедуры.
Удалить только эти строки, оставить все остальное:
CREATE NONCLUSTERED INDEX [ncx_Test_ColumnA]
ON [dbo].[Test]([ColumnA] ASC);
PRINT N'Creating [ncx_Test_ColumnA]...';
CREATE NONCLUSTERED INDEX [ncx_Test_ColumnB]
ON [dbo].[Test]([ColumnB] ASC);
PRINT N'Creating [ncx_Test_ColumnB]...';
Хорошоресурс для powershell: попытка выяснить
Автоматическое создание индексов в другой файловой группе, редактирование сценария публикации профиля