Программное копирование индексов из одной таблицы в другую в SQL Server

В основном тот же вопрос, что и в этом вопросе: Как копировать индексы из одной таблицы в другую в SQL Server , НО, как мне сделать это программно в T-SQL, учитывая имя исходной таблицы и имя целевой таблицы?

Т.е. не зная, какой стол впереди.

Я могу скопировать базовую структуру

SELECT TOP (0) * INTO [BackupTable] FROM [OriginalTable]

Но это не копирует индексы, ограничения, триггеры и т. Д.

В идеале я бы хотел, чтобы хранимая процедура выглядела примерно так:

spCloneTableStructure @ExistingTableName, @NewTableName

Копирует столбцы, первичные ключи и indexes

Что-нибудь подобное существует? (обратите внимание, что я использую SQL Server 2008 R2)

12
задан Community 23 May 2017 в 11:54
поделиться