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


Переименование таблиц (ядро СУБД)

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure

В этой статье описывается переименование таблицы в базе данных.

Чтобы переименовать таблицу в Azure Synapse Analytics или Parallel Data Warehouse, используйте ИМЯ ОБЪЕКТА.

Ограничения

Внимание

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

Переименование таблицы не приводит к автоматическому переименованию ссылок на эту таблицу. Необходимо вручную изменить все объекты, которые ссылаются на переименованную таблицу. Например, если переименована таблица и на эту таблицу имеется ссылка в триггере, то необходимо изменить триггер, указав новое имя таблицы. Используйте представление каталога sys.sql_expression_dependencies , чтобы составить список зависимостей для таблицы перед переименованием.

Разрешения

Требуется разрешение ALTER на таблицу.

Использование SQL Server Management Studio

Всегда используйте последнюю версию SQL Server Management Studio (SSMS).

Переименование таблицы

  1. В обозреватель объектов щелкните правой кнопкой мыши таблицу, которую нужно переименовать, и выберите "Конструктор" в контекстном меню.

  2. В меню Просмотр выберите команду Свойства.

  3. В поле Имя окна Свойства введите новое имя таблицы.

  4. Чтобы отменить это действие, нажмите клавишу ESC перед тем, как выйти из этого поля.

  5. В меню "Файл" выберите "Сохранить имя таблицы".

Переименование таблицы

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. В следующем примере столбец SalesTerritory в таблице SalesTerr переименовывается в Sales . Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2022;
    GO
    EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
    

Внимание

Синтаксис sp_rename должен @objname содержать схему старого имени таблицы, но @newname не включает имя схемы при настройке нового имени таблицы.