架构(Schema)是一组数据库对象的集合,它被单个负责人(可以是用户或角色)所拥有并构成唯一命名空间。你可以将架构看成是对象的容器。
在 SQL Server 2000 中,用户(User)和架构是隐含关联的,即每个用户拥有与其同名的架构。因此要删除一个用户,必须先删除或修改这个用户所拥有的所有数据库对象。
在 SQL Server 2005 中,架构和创建它的数据库用户不再关联,完全限定名(fully-qualified name)现在包含4个部分:server.database.schema.object
用户和架构分离的好处
多个用户可以通过角色(role)或组(Windows groups)成员关系拥有同一个架构。
删除数据库用户变得极为简单。
删除数据库用户不需要重命名与用户名同名的架构所包含的对象,因此也无需对显式引用数据库对象的应用程序进行修改和测试。
多个用户可以共享同一个缺省架构(default schema)来统一命名。
共享缺省架构使得开发人员可以为特定的应用程序创建特定的架构来存放对象,这比仅使用管理员架构(DBO schema)要好。
在架构和架构所包含的对象上设置权限(permissions)比以前的版本拥有更高的可管理性。
缺省架构
SQL Server 2005 引入了缺省架构(Default Schema)的概念,用于确定没有使用完全限定名的对象的命名。在 SQL Server 2005 中,缺省架构指定了服务器确定对象的名称时所查找的第一个架构。缺省架构可以用 CREATE USER 和 ALTER USER 中的 DEFAULT_SCHEMA 选项创建和修改。如果没有定义 DEFAULT_SCHEMA,则所创建的数据库用户将用 dbo 作为他的缺省架构。
分享到:
相关推荐
│ Sql Server 2005中的架构(Schema)用户(User)角色(Role)和登录(Login).pdf │ ├─14 数据库备份与恢复 │ Backup.sql │ └─15 其它应用 other.sql SQL Server将数据导出SQL脚本的方法_sql.sql SqlDB.bat ...
在SQL Server 2005中,当尝试删除一个用户时,可能会遇到错误提示,指出该用户在数据库中拥有架构,因此无法删除。这个错误通常表现为"数据库主体在该数据库中拥有架构,无法删除",这通常是由于用户是某个或多个...
本文将深入解析SQL Server 2005中的几个关键概念:服务器登录名(Server Login)、服务器角色(Server Role)、数据库用户(DB User)、数据库架构(DB Schema)以及数据库角色(DB Role)。 首先,服务器登录名是...
"SQL Server 2005 服务器登录名、角色、数据库用户、角色、架构的关系详解" SQL Server 2005 对 2000 进行了很大的改进,其中用户关系变得相当复杂。为了帮助读者更好地理解这些概念,我们将从基本概念入手,逐步...
了解数据库的架构和用户信息,可以查询`sys.database_principals`、`sys.schemas`和`sys.server_principals`系统视图,它们分别显示数据库级别的主体、所有模式以及服务器级别的主体信息。 总结来说,本文档详细...
- 使用`CREATE USER [username] FOR LOGIN [loginname]`语句来创建用户,可以附加`WITH DEFAULT_SCHEMA = [schema_name]`来指定默认架构。 ### 内置数据库用户 - **dbo用户**:每个数据库都有一个dbo用户,代表...
SQL Server 是一个功能强大的关系数据库管理系统,提供了许多有用的系统视图和信息架构来帮助开发者和数据库管理员更好地管理和维护数据库。在实际开发中,获取表名字段信息是非常重要的一步,尤其是在动态创建表时...
ArcSDE for Microsoft SQL Server Post Installation 是一个关键的步骤,用于在安装完成后配置ArcSDE与SQL Server的集成。ArcSDE是一个空间数据引擎,它允许GIS(地理信息系统)应用程序如ArcGIS与关系数据库管理...
在创建空间数据库阶段,SDE user应填写SQL Server中sde用户的密码,数据库名称必须是SQL Server中未存在的。此步骤中,如果使用了错误的密码,服务启动时会出现问题。 接下来,用sde用户再次连接SQL Server。此时,...
在mysql中创建一个Schema和创建一个... 在sqlserver2000中,由于架构的原因,user和schema总有一层隐含的关系,让我们很少意识到其实user和schema是两种完全不同的概念,不过在sqlserver2005中这种架构被打破了,use
- 用户与角色(User and Role):管理数据库访问权限。 - 权限管理:GRANT、DENY和REVOKE命令控制数据访问。 - 审计(Auditing):记录数据库活动,用于合规性和安全监控。 6. **备份与恢复** - 备份类型:完整...
本篇学习笔记涵盖了SQL Server中服务器登录与数据库用户的创建及管理、架构的创建及授权、角色的创建及成员管理、应用程序角色的创建及激活,以及权限管理等关键知识点。通过这些知识点的学习,可以帮助初学者更好地...
1. db_accessadmin:这个角色拥有ALTER ANY USER、CREATE SCHEMA、CONNECT和VIEW ANY DATABASE等权限,能够管理数据库的访问权限,允许为Windows登录名、Windows组和SQL Server登录名添加或移除访问权限。...
不过在 SQL Server2005 中这种架构被打破了,User 和 Schema 也被分开了。 可以把 Database 看作是一个大仓库,仓库分了很多很多的房间,Schema 就是其中的房间,一个 Schema 代表一个房间,Table 可以看作是每个 ...
最后,调用 `clrfunction1` 函数并传入 `@x` 和索引 `1`,输出结果为 `'sqlserver2005'`。 ### 2. XML 数据类型与操作 #### 知识点概述: SQL Server 2005 引入了新的 XML 数据类型,这使得开发者可以直接在数据库...
根据提供的文件信息,我们可以归纳出一系列关于SQL Server的重要知识点,主要涵盖了SQL Server中常见的数据库操作命令及使用场景。下面将对这些知识点进行详细的解释与扩展。 ### 一、SQL Server 基本操作 #### 1....
`CREATE SCHEMA`语句用于创建新的架构,指定所有者,如`CREATE SCHEMA newschema1 AUTHORIZATION [sqluser];` 16. 修改表的架构: `ALTER SCHEMA`命令可以改变表的架构,如`ALTER SCHEMA newschema TRANSFER ...
在SQL Server 2005中,当遇到“MS-sql 2005拒绝了对对象 'xxx' (数据库 'xxx',架构 'dbo')的 SELECT 权限”的错误时,这通常意味着当前的登录用户没有足够的权限来执行SELECT操作。解决此问题涉及多个步骤,包括...