Изменение имени хранимой процедуры

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

В этом разделе описывается переименование хранимой процедуры в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

Ограничения и запреты

  • Имена процедур должны соответствовать правилам для идентификаторов.

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

  • При переименовании хранимой процедуры не изменяется имя соответствующего объекта в столбце определения sys.sql_modules в представлении каталога. Для этого необходимо удалить хранимую процедуру и заново создать её под новым именем.

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

Permissions

CREATE PROCEDURE
Требуется разрешение CREATE PROCEDURE в базе данных и разрешение ALTER для схемы, в которой создаётся процедура, либо членство в фиксированной роли базы данных db_ddladmin.

ALTER PROCEDURE
Необходимо наличие разрешения ALTER для процедуры или членство в предопределённой роли базы данных db_ddladmin.

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

Изменение имени хранимой процедуры

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД, а затем разверните его.
  2. Разверните узел Базы данных, затем базу данных, содержащую эту процедуру, а затем узел Программируемость.
  3. Определите зависимости хранимой процедуры.
  4. Разверните узел Хранимые процедуры, щелкните процедуру правой кнопкой мыши и выберите команду Переименовать.
  5. Измените имя процедуры.
  6. Измените имя процедуры во всех зависимых от нее объектах и скриптах.

Использование Transact-SQL

Изменение имени хранимой процедуры

  1. Подключитесь к компоненту ядро СУБД.
  2. На панели «Стандартная» нажмите Создать запрос.
  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере показано, как переименовать процедуру путем ее удаления и повторного создания с новым именем. В первом примере создается хранимая процедура 'HumanResources.uspGetAllEmployeesTest. Во втором примере имя хранимой процедуры меняется на HumanResources.uspEveryEmployeeTest.
--Create the stored procedure.  
USE AdventureWorks2022;  
GO  

CREATE PROCEDURE HumanResources.uspGetAllEmployeesTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  
  
--Rename the stored procedure.  
EXEC sp_rename 'HumanResources.uspGetAllEmployeesTest', 'uspEveryEmployeeTest';