簡體   English   中英

為什么選擇權限被拒絕?

[英]Why was the select permission denied?

我在向數據庫用戶授予權限時遇到了麻煩。 例如,無論我給它提供多少安全性和成員身份,我似乎都無法獲得用戶的SELECT特權。 首先,給用戶選擇權限數據庫>安全性>用戶>屬性>安全性,並將其授予db_datareader成員身份。 在此操作無效后,我將用戶添加到所有成員身份,並向他授予了securables部分中的所有可用權限。 失敗之后,我向用戶授予了在security> login> properties中可用的所有權限,將登錄名添加到了所有接受sysadmin的服務器角色中,並授予了我希望他訪問的數據庫中所有架構的用戶所有權。 我仍然在下面得到同樣的錯誤:

 The SELECT permission was denied on object 'Patient_Information', database 'Clinical_Data', schema 'dbo'

當我將登錄名添加到sysadmin角色中時,映射到的用戶在選擇,插入以及基本上執行其他任何操作時都沒有問題。 奇怪的是,當我查看database> properties> Permissions時,用戶沒有我在securables部分中授予他的任何權限。 這是我用來授予的代碼:

 USE Clinical_Data; GRANT Select on schema::DBO to lab31

在此先感謝您提供的任何幫助。

我通常創建一個數據庫角色並將用戶分配給該角色。 將模式特權分配給數據庫角色。 下面是一個針對虛擬數據庫使用代碼的簡單示例。

-- 
-- 1 - GRANTING CORRECT USER ACCESS BY SCHEMA
-- 

--create test user login
CREATE LOGIN [User1] WITH PASSWORD=N'p@55w0rd'
GO

-- Make sure we are in autos
USE [AUTOS]
GO

--create user in test database
CREATE USER [User1] FOR LOGIN [User1] WITH DEFAULT_SCHEMA=[ACTIVE]
GO

--create role
CREATE ROLE [Auto_User] AUTHORIZATION [dbo]
GO

--apply permissions to schemas
GRANT ALTER ON SCHEMA::[ACTIVE] TO [Auto_User]
GO

GRANT CONTROL ON SCHEMA::[ACTIVE] TO [Auto_User]
GO

GRANT SELECT ON SCHEMA::[ACTIVE] TO [Auto_User]
GO

--ensure role membership is correct
EXEC sp_addrolemember N'Auto_User', N'User1'
GO

如果您對SQL Server Management Studio更加滿意,可以嘗試一下。 所有動作可能都不准確,但我確實在SS 2012中進行了檢查。

假設您的登錄名是[bilbo],而他們要訪問的數據庫是[middle earth]。

  1. 服務器登錄名的默認數據庫是否是[bilbo]他們嘗試查詢的數據庫[middle earth]?

    [SMSS對象資源管理器路徑]:服務器->安全->登錄名->右鍵單擊+屬性

  2. 服務器登錄名是否映射到[Middle Earth]數據庫中名為[bilbo]的數據庫用戶?

    [SMSS對象資源管理器路徑]:數據庫名稱->安全->用戶

  3. 確保用戶[bilbo]沒有任何拒絕數據庫角色(db_denydatareader,db_denydatawriter)。 任何拒絕行動超過任何補助。

    [SMSS對象資源管理器路徑]:數據庫名稱->安全->角色->數據庫角色->選擇+右鍵單擊+屬性

    {您將在此處添加自定義數據庫角色。}

  4. 確保用戶[bilbo]擁有該模式的權限。

    [SMSS對象資源管理器路徑]:數據庫名稱->安全性->模式->選擇+右鍵+屬性

這應該給您土地的布局。

找到令人討厭的吊銷或缺少權限並進行分配。

請不要放棄所有服務器角色或所有數據庫角色! 當用戶做一些愚蠢的事情(如放置表)時,您只是在想頭痛。

暫無
暫無

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

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