如何在另一个存储过程中使用sp_configure?

时间:2010-10-21 13:56:04

标签: sql-server sql-server-2005

我试图在另一个存储过程中使用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

错误来了: -

  

Msg 102,Level 15,State 1,Procedure Test01,Line 6   'sp_configure'附近的语法不正确。   配置选项'Ad Hoc Distributed Queries'从1更改为1.运行RECONFIGURE语句进行安装。   Msg 102,Level 15,State 1,Line 1   'END'附近的语法不正确。

1 个答案:

答案 0 :(得分:9)

GO不是TSQL命令。它是查询窗口中的批处理分隔符。 RECONFIGURE之后的第一个GO有效地结束了存储过程的定义。调用程序时还需要使用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