簡體   English   中英

找不到用戶 '',因為它不存在或您沒有權限

[英]Cannot find the user '', because it does not exist or you do not have permission

我正在嘗試使用此查詢為用戶添加對存儲過程的權限,

USE [MyDatabaseName]
GO

GRANT EXEC ON [dbo].[StoreProcedureName] TO [UserName]
GO

我可以通過用戶界面授予用戶權限,但使用此查詢時出現此錯誤,

找不到用戶“用戶名”,因為它不存在或您沒有權限。

如果我沒有權限,那么如何使用用戶界面添加權限。

我剛剛遇到了同樣的問題。

確保在主表中有您登錄的用戶映射。 不需要數據庫角色成員資格,只需在登錄“用戶名”的屬性中的“用戶映射”下為數據庫主打勾“映射”。

運行這個:

USE [db_where_you_need_access]
GO
CREATE USER [your_user] FOR LOGIN [your_user]

我遇到了這個問題,但我在服務器上的本地管理員組中。 顯然,如果 UAC 被打開,以管理員身份運行 SQL Server Management Studio 會使世界變得不同。 在我這樣做之前,我沒有任何權限。

當數據庫已從另一台服務器恢復並且數據庫中用戶的 GUID 與當前服務器的 GUID 不同時,您可能會遇到這樣的問題。

這將重新鏈接孤立用戶:

USE <database_name>;
GO
sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', 
   @LoginName='<login_name>';
GO

除此之外,如果用戶存在並且您擁有相關的安全權限,那么您所做的沒有理由不起作用。

有點愚蠢,但請確保您的UserNameGRANT語句中拼寫正確。 我花了半個小時試圖找出這個錯誤的原因,這只是我的一個錯字!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM