SQL行级安全性多个用户和sysadmin

时间:2017-08-25 07:06:27

标签: sql sql-server sql-server-2016 row-level-security

所以,当我注意到当我应用它时,我正在做行级安全策略,它应该对用户起作用。但对我来说,作为系统管理员,我再也看不到表格内容了。因为该政策也隐瞒了我。

我如何添加自己以查看表格?

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.

1 个答案:

答案 0 :(得分:0)

如果@username是数据库用户名,则sysadmin的条件@username = SUSER_NAME()不能为真。

SUSER_NAME()是sysadmin的登录名,而在数据库中,sysadmin始终映射为dbo

即。 sysadmin的条件应该是

OR
@username = 'dbo'