Поделиться через


Пере переименованием объектов базы данных

Перед переименованием объекта базы данных в Visual Studio Premium необходимо проанализировать следующие моменты.

Переименование столбцов в представлениях

Воздействие ошибок построения

Воздействие на планы создания данных

Воздействие на модульные тесты

Воздействие на скрипты Transact-SQL

Переименование столбцов в представлениях

Представление состоит из инструкции, выбирающей столбцы из таблиц или других представлений. Используемые в представлении таблицы называются базовыми таблицами представления. Например, следующий код создает представление, основанное на таблице HumanResources.Employee:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

При переименовании столбца в представлении этот столбец не переименовывается в базовой таблице. Вместо этого имя в представлении заменяется псевдонимом, как в следующем примере:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title AS JobTitle
       FROM HumanResources.Employee

CREATE VIEW dbo.vEmployeeTest (EmployeeID, JobTitle)
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

Примечание

Если представление использует для получения данных из базовой таблицы инструкцию SELECT *, символ * интерпретируется как список отдельных столбцов.Переименованный столбец получает псевдоним, как в предыдущих примерах.

Если требуется переименовать столбец в представлении и базовой таблице, переименуйте столбец в таблице, в результате чего он автоматически обновится в представлении.

Воздействие ошибок построения

При переименовании объекта базы данных в Visual Studio Premium делается попытка обновить другие объекты базы данных, планы создания данных, модульные тесты и скрипты, которые ссылаются на этот объект. При работе с проектом базы данных можно выполнить действие, которое станет причиной ошибки построения, и затем выполнить другое действие, которое исправит эту ошибку. Например, можно удалить таблицу и затем обновить зависящее от непредставление, удалив из него ссылку на удаленную таблицу. Между удалением таблицы и обновлением представления проект будет содержать ошибки построения.

Если переименование объекта базы данных производится при наличии в проекте ошибок построения, объект переименовывается правильно. Однако может быть невозможно правильно обновить все ссылки на переименовываемый объект. Если в проекте имеются ошибки построения, вы будете предупреждены об этом в диалоговом окне Просмотреть изменения. Если продолжить, объект будет переименован и ссылка обновлены, насколько это возможно. Если отменить операцию, то можно исправить ошибки построения сначала и затем попытаться снова переименовать операцию.

Воздействие на планы создания данных

При переименовании объекта базы данных в Visual Studio Premium или Visual Studio Ultimate производится попытка обновить планы создания данных, ссылающиеся на этот объект. Однако необходимо учитывать следующее.

  • Перед переименованием объекта следует сохранить открытые в редакторе планы создания данных. При наличии открытых планов создания данных при попытке переименовать объект, все открытые планы создания данных сохраняются и закрываются автоматически, а операция переименования продолжается.

  • Необходимо вручную обновить планы создания данных, использующие связанные с данными генераторы.

Дополнительные сведения см. в разделе Создание данных теста для баз данных с помощью генераторов данных.

Воздействие на модульные тесты

Инструкции Transact-SQL в модульном тесте обычно ссылаются на объекты в базе данных, заданные в ValidationConnectionString и ExecutionConnectionString этого теста. Если это не так, имеются следующие две возможности.

  • Инструкции Transact-SQL в модульном тесте могут ссылаться на объекты в других базах данных.

  • Инструкции Transact-SQL в модульном тесте могут ссылаться на объекты в той же базе данных, но в других схемах.

При переименовании объекта базы данных в Visual Studio Premium производится попытка обновить в решении модульные тесты, ссылающиеся на этот объект. В упомянутых выше случаях обновление модульных тестов может оказаться невозможным. Для обновления модульных тестов при переименовании объекта базы данных необходимо убедиться, что в модульных тестах используются полные имена объектов. При использовании в модульных тестах полных имен объектов подсистема оптимизации кода может обновить их при любом переименовании объектов схемы.

Дополнительные сведения о модульных тестах см. в разделе Проверка кода базы данных при помощи модульных тестов.

Воздействие на скрипты Transact-SQL

Скрипты Transact-SQL в проекте базы данных обычно ссылаются на объекты схемы в базе данных проекта. Если это не так, имеются следующие две возможности.

  • Инструкции Transact-SQL в скрипте могут ссылаться на объекты в других базах данных.

  • Инструкции Transact-SQL в скрипте могут ссылаться на объекты в той же базе данных, но в других схемах.

При переименовании объекта базы данных в Visual Studio Premium производится попытка обновить в решении скрипты, ссылающиеся на этот объект. В упомянутых выше случаях обновление скриптов может оказаться невозможным. Для обновления скриптов при переименовании объекта базы данных необходимо убедиться, что в скриптах используются полные имена объектов. При использовании в скриптах полных имен объектов подсистема оптимизации кода может обновить их при любом переименовании объектов схемы.

Дополнительные сведения о скриптах см. в разделе Создание и изменение скриптов базы данных.

Безопасность

Если ошибка препятствует завершению операции рефакторинга кода, информация об этой ошибке записывается в журнал событий приложения, где ее может просмотреть пользователь с разрешениями обычного пользователя. Если информация схемы считается конфиденциальной и может появляться в журнале, то моет потребоваться очистить журнал или ограничить доступ к клиентскому компьютеру.

См. также

Основные понятия

Переименование всех ссылок на объект базы данных