Просмотр определения хранимой процедуры

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Просмотр определения хранимой процедуры

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

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

Разрешения

Системная хранимая процедура: sp_helptext
Необходимо быть членом роли public. Определения системных объектов видимы для всех. Определения пользовательских объектов видимы владельцу объекта и получателям любого из следующих разрешений: ALTER, CONTROL, TAKE OWNERSHIP и VIEW DEFINITION.

Системная функция: OBJECT_DEFINITION()
Определения системных объектов видимы для всех. Определения пользовательских объектов видимы владельцу объекта и получателям любого из следующих разрешений: ALTER, CONTROL, TAKE OWNERSHIP и VIEW DEFINITION. Эти разрешения неявно предоставляются членам предопределенных ролей базы данных db_owner, db_ddladminи db_securityadmin .

Представление каталога объектов: sys.sql_modules
Видимость метаданных в представлениях каталогов ограничивается защищаемыми объектами, которыми пользователь владеет или на которые ему были предоставлены разрешения. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

Примечание.

Azure Synapse Analytics не поддерживает системную хранимую процедуру sp_helptext. Вместо нее используйте представление каталога объектов sys.sql_modules. Примеры приведены далее в этой статье.

Просмотр определения хранимой процедуры

Можно использовать один из следующих способов:

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

Чтобы просмотреть определение процедуры в обозреватель объектов, выполните следующие действия.

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

  2. Последовательно разверните узел Базы данных, базу данных, которой принадлежит процедура, и узел Программирование.

  3. Разверните раздел Хранимые процедуры, щелкните процедуру правой кнопкой мыши, нажмите Создать скрипт для хранимой процедуры, а затем выберите один из следующих пунктов: Используя CREATE, Используя ALTER или Используя DROP и CREATE.

  4. Выберите New Query Editor Window (Окно редактирования нового запроса). При этом отобразится определение процедуры.

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

Просмотр определения процедуры в редакторе запросов

Системная хранимая процедура: sp_helptext

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

  2. На панели инструментов нажмите Создать запрос.

  3. В окне запроса введите следующую инструкцию, которая использует системную хранимую процедуру sp_helptext. Измените имя базы данных и имя хранимой процедуры для ссылки на нужную базу данных и хранимую процедуру.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_helptext N'AdventureWorks2022.dbo.uspLogError';  
    

Системная функция: OBJECT_DEFINITION()

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

  2. На панели инструментов нажмите Создать запрос.

  3. В окне запроса введите следующие инструкции, которые используют системную функцию OBJECT_DEFINITION. Измените имя базы данных и имя хранимой процедуры для ссылки на нужную базу данных и хранимую процедуру.

    USE AdventureWorks2022;  
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2022.dbo.uspLogError'));  
    

Представление каталога объектов: sys.sql_modules

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

  2. На панели инструментов нажмите Создать запрос.

  3. В окне запроса введите следующие инструкции, которые используют представление каталогов sys.sql_modules. Измените имя базы данных и имя хранимой процедуры для ссылки на нужную базу данных и хранимую процедуру.

    USE AdventureWorks2022;  
    GO  
    SELECT [definition]
    FROM sys.sql_modules  
    WHERE object_id = (OBJECT_ID(N'dbo.uspLogError'));  
    

См. также