我查到的方法是
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[test]
with EXECUTE AS 'dbo'
AS
exec sp_configure 'show advanced options',1
reconfigure;
但是执行时却提示
消息 15247,级别 16,状态 1,过程 sp_configure,第 94 行
用户没有执行此操作的权限。
消息 5812,级别 14,状态 1,过程 test,第 7 行
您没有运行 RECONFIGURE 语句的权限。
(1 行受影响)
但是我的dbo 是sa啊 为什么呢
而且我去掉with EXECUTE AS 'dbo'后就可以执行 这是为什么
我之前本来打算直接在查询里面写exec sp_configure 'show advanced options',1
reconfigure;
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure;
但是 过段时间后 它就会失效 所以我不得不在存储过程里面去写