在包含的数据库中,如何授予用户对此表的读取权限?
我正在尝试创建一个函数来获取上次更新表的日期,但是当包含的用户运行它时,它会失败并显示错误297'用户无权执行此操作。'。
CREATE FUNCTION [MGMT].[GetLastObjectUpdateTime] (@ObjectName NVARCHAR(100))
RETURNS DATETIME
WITH EXECUTE AS OWNER
AS
BEGIN
DECLARE @Result DATETIME
SELECT @result = MAX(last_user_update)
FROM sys.dm_db_index_usage_stats
WHERE OBJECT_ID = OBJECT_ID(@ObjectName)
RETURN @Result
END
答案 0 :(得分:0)
我会尝试授予所有者服务器权限VIEW SERVER STATE needed to use that view。
USE master;
GO
GRANT VIEW SERVER STATE TO [owner login]
GO