2017-08-25 231 views
0

因此,我在做Row行級安全策略時,當我注意到應用它時,它對用戶應該是一樣的。但作爲系統管理員,我無法再看到表格內容。因爲政策也隱瞞了我。SQL行級安全多個用戶和系統管理員

如何添加自己以查看錶格?

CREATE function [tst].[turva] (@yritys sysname, @username AS VARCHAR(50)) 
returns table 
with Schemabinding 
as 
return select 1 as [turva_tulos] 
from 
tst.Customer 
where @yritys = user_name() 
OR 
@username = SUSER_NAME() --im still not getting the results. 

回答

0

如果@username是數據庫的用戶名,病情@username = SUSER_NAME()不能成爲系統管理員正確的。

SUSER_NAME()是系統管理員的登錄而在數據庫系統管理員總是被映射爲dbo

即sysadmin的條件應該是

OR 
@username = 'dbo'