SQLServerはエラープロセスを実行しましたが、存在しないか、あるいは必要な権限がないかを提示しました。

699 ワード

今日は変な問題がありました。
新しいエラープロセスを作成し、実行権限を付与します。
USE [MyDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[mp_Statistic]
AS 
 BEGIN 
	DECLARE @sql NVARCHAR(MAX)
	SET @sql = '……         ,      ……'
	EXEC(@sql)
END
 

GRANT  EXECUTE ON [dbo].[mp_Statistic] TO [myName]

実行後、結果が出ました。出力にはエラーがあります。
メッセージ15151、レベル16、状態1、プロセスmp_Sttistic、52行目は対象に対してmp_を作れません。Sttistic'が検索を実行します。これは存在しないか、あるいは必要な権限がありません。
前のすべてのエラープロセスは同じです。実行権限をこのユーザーに与えましたが、今日は「エラー」を提示しました。
三十分ぐらいかかります。正常です。間違えました
その後、ようやく発見されました。保存プロセスを実行する時、便宜のために、授権されたスクリプトは直接記憶プロセスの下に書いてあります。
そのため、記憶プロセスはgrant execute onを記憶プロセスの一部として、ユーザに権限がないとエラーが発生します。