Как использовать sp_configure в другой хранимой процедуре? - PullRequest
4 голосов
/ 21 октября 2010

Я пытаюсь использовать Sp_configure Proc в другой хранимой процедуре, но получаю ошибки.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Test01
AS
BEGIN
    SET NOCOUNT ON;

    sp_configure 'show advanced options', 1
    RECONFIGURE
    GO
    sp_configure 'Ad Hoc Distributed Queries', 1
    RECONFIGURE
    Go
END
GO

Приходит ошибка: -

Сообщение 102, уровень 15, состояние 1, Процедура Test01, строка 6 Неверный синтаксис рядом с 'sp_configure'.Параметр конфигурации «Специальные распределенные запросы» изменен с 1 на 1. Запустите инструкцию RECONFIGURE для установки.Сообщение 102, Уровень 15, Состояние 1, Строка 1 Неверный синтаксис рядом с 'END'.

1 Ответ

9 голосов
/ 21 октября 2010

GO не является командой TSQL.Это разделитель пакетов в окне запроса.Первый GO после RECONFIGURE эффективно завершает определение вашей хранимой процедуры.Вам также необходимо использовать EXEC при вызове процедур.См. Код ниже.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Test01
AS
BEGIN
    SET NOCOUNT ON;

    EXEC sp_configure 'show advanced options', 1
    RECONFIGURE

    EXEC sp_configure 'Ad Hoc Distributed Queries', 1
    RECONFIGURE

END
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...