加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:52:41 所属栏目:MsSql教程 来源:网络整理
导读:我正在向用户提供新的数据库.与作为db_owner角色成员的登录相比,作为默认dbo用户的用户有何不同? 解决方法 每个数据库都应该有一个dbo用户,默认情况下会将其分配给db_owner数据库角色.还有一个dbo架构,它部分是SQL Server 2000及更早版本的延续,其中用户和架
我正在向用户提供新的数据库.与作为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架构仍用于在用户的默认架构中找不到的对象.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读