![](/img/trans.png)
[英]Cannot find the CREDENTIAL because it does not exist or you do not have permission- Azure SQL Server
[英]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
除此之外,如果用戶存在並且您擁有相關的安全權限,那么您所做的沒有理由不起作用。
有點愚蠢,但請確保您的UserName
在GRANT
語句中拼寫正確。 我花了半個小時試圖找出這個錯誤的原因,這只是我的一個錯字!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.