2009-03-20 5 views
0

У меня есть база данных, в которой основная таблица имеет действительно плохо названное поле первичного ключа, которое я хочу переименовать. Это поле первичного ключа ссылается примерно на 20 других таблиц и около 15 хранимых процедур.Переименование полей базы данных

Что является самым простым способом переименовать это поле повсюду, на которое он ссылается по всей базе данных?

ответ

4

Инструменты рефакторинга базы данных существуют для выполнения именно той операции, которую вы требуете. Просто зайдите в Google для «инструментов рефакторинга базы данных» и выберите что-то, что будет работать с вашей конкретной базой данных. DB Deploy является примером такого инструмента .

Если по какой-то причине вы хотели сделать это вручную, и вы не имели дело с огромной базой данных, я бы, вероятно, сделал текстовый экспорт базы данных (ddl и data), а затем занялся поиском & replace.

Редактировать: Дополнительно Программное обеспечение Redgate (http://www.red-gate.com/) очень высоко оценивается, но стоит денег. Лично я думаю, что их продукты превосходны и стоят каждого процента, учитывая время, которое они могут сэкономить.

0

Если бы это был я, я бы сделал это manaully с помощью Managment Studio; Выберите базу данных и щелкните правой кнопкой мыши, чтобы получить «Задачи -> Сгенерировать скрипты» и выбрать все объекты в базе данных для экспорта DDL в новое окно запроса или редактор по вашему выбору и использовать команду «Найти» для поиска каждого экземпляра где ключ существует, а затем внести соответствующие изменения с помощью студии управления непосредственно в базу данных.

Убедитесь, что у вас есть резервная копия, на всякий случай есть резервная база данных.

Смежные вопросы