SQL行级安全多个用户和系统管理员
问题描述:
因此,我在做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.
答
如果@username
是数据库的用户名,病情@username = SUSER_NAME()
不能成为系统管理员正确的。
SUSER_NAME()
是系统管理员的登录而在数据库系统管理员总是被映射为dbo
即sysadmin的条件应该是
OR
@username = 'dbo'