SQL Server 中“dbo”到底是什么

在SQL Server中看见很多表名都有前缀dbo,但是不写也可以。比如pubs的数据库中的表dbo.title


1. dbo是一个构架(schema),在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的"用户与构架分离"的概念. 在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式. 
2.DBO是每个数据库的默认用户,具有所有者权限,即DbOwner 
 

dbo是默认用户也是架构,dbo作为架构是为了更好的与2000兼容,在2005前,没有架构的概念,只有用户的概念,那时候DBO是默认用户,大部分的数据库对象都是dbo的,到了2005,有了架构概念,但是为了向后兼容,保留了DBO,并且把DBO作为默认架构,在不指定架构的情况下,默认为dbo
在2000中DataBaseName.dbo.TableName解释为:数据库名.用户名.表名,
在2005中DataBaseName.dbo.TableName解释为:数据库名.架构名.表名,
这样2000中的代码移植到2005中就不会报错(dbo在2005中是默认的架构,创建表时,如不指定架构,则默认为属于dbo为个架构)。

如果要调用远程的数据库(如:数据名Skey,它是Sql2005),就要按照Skey.DataBaseName.dbo.TableName 

虽然 SQL Server 2000 包含 CREATE SCHEMA 语句,但实际上并不会像上面所定义的那样创建架构。在 SQL Server 2000 中,数据库用户和架构是隐式连接在一起的。每个数据库用户都是与该用户同名的架构的所有者。对象的所有者在功能上与包含它的架构所有者相同。因而,SQL Server 2000 中的完全限定名称的“架构”也是数据库中的用户。

在 SQL Server 2005 中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。并且可以在架构中创建具有用户友好名称的对象,明确指示对象的功能。

SQL Server 2005 还引入了“默认架构”的概念,用于解析未使用其完全限定名称引用的对象的名称。在 SQL Server 2000 中,首先检查的是调用数据库用户所拥有的架构,然后是 DBO 拥有的架构。在 SQL Server 2005 中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用 CREATE USER 和 ALTER USER 的 DEFAULT_SCHEMA 选项设置和更改默认架构。如果未定义 DEFAULT_SCHEMA,则数据库用户将把 DBO 作为其默认架构。

sql server中的登录名,用户,架构,模式,角色,所有者,登录名,dbo之间的关系

登录名是登录数据库服务器时候用的

用户指的是某个具体的数据库中的用户。管理员可以设置登录名和具体的数据库中的用户的映射关系。

下面为了方面,用用户简称某个具体数据库中的用户。

在数据库中。例如在学生选课数据库中,可以有多个用户,每个用户可以有多个模式(在smss中叫做架构,模式的意义就是定义命名空间,防止出现命名冲突),每个模式可以有多张表。注意每个模式只能属于某一个用户。

 

所有者是一个数据库服务器的登录名,假设A登录数据库服务器,创建了一个数据库,这个数据库的所有者就是A。

 

dbo这是有两个意思,一个是用户dbo,相当linux中的root用户,拥有最高权限,用windows身份验证登录进去,映射到具体数据库中就是dbo用户;二是模式dbo,默认属于用户dbo,是用户dbo的一个默认命名空间。
 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10,配置环境变量时系统环境变量和用户环境变量的优先级

关于%%中间夹着的东西,比如%AppData%的路径,是在注册表中可以修改的,用户也可以自定义这种%...%,相当于你定义了一个路径常量,定义方法也是去系统的环境变量中去添加即可。 比如一般常用%JAVAHOME%这种。 参考文章&a…

sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**

1.一个数据库用户可以对应多个架构(架构是表容器)。架构里面包含的是数据库表。 2.一个数据库角色有可能涉及多个架构。数据库角色对应的是权限。 3.一个用户对应一个数据库角色。 4.登录名与数据库用户在服务器级别是一对多的;在数据库级…

python 字典、列表、字符串 之间的相互转换

1、列表与字符串转换 列表转字符串: 将列表中的内容拼接成一个字符串 将列表中的值转成字符串 字符串转列表: 用eval转换 将字符串每个字符转成列表中的值 将字符串按分割成列表 2、列表与字典转换 列表转字典: 将两个列表转成字典 将嵌…

【转】SharePoint开发中可能用到的各种Context(上下文)

第一部分 服务器端上下文 一、HttpContext 这个……我想就不用再介绍了,SharePoint运行在标准的ASP.NET框架下(2003用的不是标准的ASP.NET 1.1,不过这年头还有人用2003么),所以这个对象的使用和ASP.NET没有任何区别。…

Python 字符串前面加u,r,b,f的含义

1、字符串前加 u 例:u"我是含有中文字符组成的字符串。" 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 2、字符串前加 r 例&a…

【转】aspx,ascx和ashx使用小结

做asp.net开发的对.aspx,.ascx和.ashx都不会陌生。关于它们,网上有很多文章介绍。“纸上得来终觉浅,绝知此事要躬行”,下面自己总结一下做个笔记。1、.aspx Web窗体设计页面。Web窗体页由两部分组成:视觉元素(html、服…

【转】执行Import-SPWeb报错Import-SPWeb : Requested value 'PublishingPages' was not found

Import-SPWeb : Requested value PublishingPages was not found. 【解决办法】 1.找到CPM文件 2.把cpm文件后缀名改为cab,如果有多个cmp需要把所有文件改为cab 3.使用cmd全部解压,然后找到Manifest.xml 4.找到“PublishingPages”,替换为…

【Gym - 101775J】Straight Master(差分,思维)

题干: A straight is a poker hand containing five cards of sequential rank, not necessarily to be the same suit. For example, a hand containing 7 club, 6 spade, 5 spade, 4 heart and 3 diamond forms a straight. In this problem, we extend the defi…

【转】Azure DevOps —— Azure Board 之 长篇故事、特性、用户情景(故事)的用法应用场景

前提 我以前在之前的文章里大概介绍了 Azure Board 的基本使用,可以回看《Azure Board 的基本使用》。如果你想使用 Azure Board 来安排工作的话,请提前了解《敏捷开发》的相关知识。 作者将使用 “Agile” 作为项目的模板,不明白的先阅读《…

【VIJOS - P1037】搭建双塔(dp)

题干: 描述 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念“9?11”事件,Mr. F决定自己用水晶来搭建一座双塔。 Mr. F有N块水晶,每块水晶有一个高度&#xff0…

【转】10分钟精通SharePoint - VS开发模板

Visual Studio是SharePoint开发的最锋利的利器(没有之一哦),是必不可少的开发工具。VS一直为SharePoint开发保驾护航。 提供了以下功能开发模板: WebPart :服务器端控件 SharePoint中最常用的展示控件之一&#xff…

【Tyvj - 1305】最大子序和(单调队列优化dp)

题干: 输入一个长度为n的整数序列,从中找出一段不超过M的连续子序列,使得整个序列的和最大。 例如 1,-3,5,1,-2,3 当m4时,S51-237 当m2或m3时,S516 输入格式 第一行两个数n,m 第二行有n个数&…

【转】SharePoint 2010 用户自定义编辑Meta标签的OOB方法

今天遇到一个小问题&#xff0c;客户想要动态定制页面的<Head>标签里Meta, 而且需要使用OOB. 考虑了一下&#xff0c;Meta 标签肯定是用来让Server Crawl的, 那JS的方法首先排除&#xff0c;那就只能用服务器控件了, 在做了一些测试后&#xff0c;Field Control 可以帮我…

【计蒜客 - 程序设计竞赛】商业信息共享(Tarjan缩点)

题干&#xff1a; 商业信息共享 有 N 个公司&#xff0c;从每个公司都能单向地向另外一个公司分享最新商业信息&#xff0c;因为他们之间有着某种合作&#xff0c;你需要解决两个问题&#xff1a; 现在有一个最新的商业信息&#xff0c;至少需要告诉多少个公司&#xff0c;使…

【转】SharePoint 编程指南

网站相关的对象模型 作为一个应用原型系统&#xff0c;SharePoint提供了很多强大的应用及管理功能&#xff0c;但是&#xff0c;在实际的应用中&#xff0c;这些原有的功能很难满足用户的需求。因此&#xff0c;SharePoint也提供了一套非常完整的对象模型作为底层接口&#xf…

Mr. Kitayuta‘s Technology CodeForces - 505D(并查集+拓扑排序或dfs找环) 题解

题目 Shuseki Kingdom is the world’s leading nation for innovation and technology. There are n cities in the kingdom, numbered from 1 to n. Thanks to Mr. Kitayuta’s research, it has finally become possible to construct teleportation pipes between two ci…

二进制枚举子集 CS Maxor 或运算,DP(SOS)

https://blog.csdn.net/noone0/article/details/78289517 目前没有题目链接。 题意:长度为n的序列a,选出两个元素,其或运算结果的最大值为多少,并求出a[i]|a[j]mx的方案数? n<1e5,0<a[i]<2^17,m<17. 假如最大值为mx,若x|ymx 则x和y肯定为mx的子集.否则或运算结果…

【转】SharePoint 中的编程模型

可以通过多种方式开发针对 SharePoint 平台的应用程序。可以基于以下各项将这些应用程序划分下列组中&#xff1a;用于创建应用程序的工具、用于开发应用程序的编程模型、打包和部署应用程序的方法、将应用程序投入市场的方式以及运行应用程序的设备。 SharePoint 框架 ShareP…

【转】SharePoint 术语表

术语表 术语定义访问控制条目 安全对象的自由访问控制列表 (DACL) 或对象的系统访问控制列表 (SACL) 中的一项。在 DACL 中&#xff0c;该项向用户或组授予权限或者拒绝向用户或组授予权限。在 SACL 中&#xff0c;该项指定审核特定用户或组的哪些安全事件或者控制对象的 Wind…

【HDU - 5890】Eighty seven(bitset优化背包)

题干&#xff1a; Mr. Fib is a mathematics teacher of a primary school. In the next lesson, he is planning to teach children how to add numbers up. Before the class, he will prepare NN cards with numbers. The number on the ii-th card is aiai. In class, eac…