我需要检查用户是否是数据库所有者。
我找到了两种方法:
- 查看“exec sp_helprolemember”输出表
- select count(*) from (select DbRole = g.name, MemberName = u.name, MemberSID = u.sid from sys.database_principals u, sys.database_principals g, sys.database_role_members m 其中 g.principal_id = m.role_principal_id 和 u .principal_id = m.member_principal_id 和 g.name='db_owner') 输出其中 MemberName='user_to_be_checked'
在您看来,哪种方法是最长期受支持的方法?我的意思是:微软是否更有可能对系统表结构或存储过程语法/输出进行设计更改?哪一个是跨 SQL Server 版本最可移植的?
谢谢
皇家空军