Копирование индексов из старой базы данных в новую? - PullRequest
2 голосов
/ 26 апреля 2010

Я преобразовал старую базу данных sql server с 2000 в 2005 и забыл добавить старые индексы в новую базу данных.

есть ли способ скопировать старые индексы в новую базу данных?

любая помощь?

Ответы [ 2 ]

3 голосов
/ 26 апреля 2010

Вы не можете копировать индексы из одного места в другое. Они должны быть построены на новом месте.

Вы можете записать все ваши индексы в старой базе данных и перенести их в новую.

Щелкните правой кнопкой мыши базу данных и в разделе задач выберите «Создать сценарии». Установите флажок для all objects, а затем в параметрах выберите сценарии индексов. Запустите этот скрипт в новой базе данных (это займет некоторое время в зависимости от размера таблиц.

2 голосов
/ 26 апреля 2010

Если таблиц не слишком много, вы можете сгенерировать скрипт из SSMS со всеми объектами и их индексами в нем, а затем просто удалить операторы CREATE TABLE, оставив индексы.

Если имеется большое количество таблиц, с которыми вы имеете дело, может быть проще использовать такой инструмент, как «Сравнение SQL» Red-Gate или Visual Studio Database Edition, для сравнения схем и создания отсутствующих индексов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...