微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – SQL Server:dbo vs db_owner角色成员?

我正在向用户提供新的数据库.与作为db_owner角色成员的登录相比,作为认dbo用户用户有何不同?

解决方法

每个数据库都应该有一个dbo用户,认情况下会将其分配给db_owner数据库角色.还有一个dbo架构,它部分是sql Server 2000及更早版本的延续,其中用户和架构是同一个架构.它还有点特别之处在于,如果在用户认模式中找不到对象,则查询将在dbo模式中查找对象(假设对象名称未使用模式名称限定).

您只能将单个登录映射到数据库中的dbo用户(与任何数据库用户一样),但您可以根据需要为db_owner角色分配尽可能多的用户,从而使他们基本上完全控制数据库.

如果为数据库用户设置认架构,则在安全性方面不会产生任何影响.它只是控制认情况下哪个模式将用于在没有为对象名提供特定模式名称时创建和引用对象.在sql Server 2000及更早版本中,由于没有用户和模式的分离,除非另外明确指定,否则用户认模式始终是自身的,例如,“CREATE TABLE dbo.test_table …”vs“CREATE TABLE test_table …”. (请注意,dbo架构仍用于在用户认架构中找不到的对象.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐