实际上,数据库对象是由Schema架构组织的,而不是由用户组织的。所谓Schema架构,指的是一个数据库中包含很多对象的容器。架构可以理解为一个命名空间,用户并不拥有数据库对象,而架构拥有数据库对象,用户其实是通过架构来使用数据库对象的。例如,当数据库中存在很多数据表时,如何对其进行分类,就需要使用到Schema架构进行管理。例如,对于Auser登录名来说,首先选定的数据库中依次打开“安全性”、“用户”项,在其右键菜单上点击“新建用户”项,在弹出窗口中的“用户名”和“登录名”栏中分别输入“Auser”,为其映射一个用户名。
在该数据库选择“安全性”、“架构”项,在其右键菜单上点击“新建架构”项,在“架构名称”栏中输入“houqin”,在“结构所有者”栏中点击“搜索”按钮,导入Auser用户名。点击确定按钮创建该架构名。在Alex用户属性窗口左侧选择“常规”项,在“默认架构”栏中将“dbo”修改为“houqin”,并为其授予创建表的权限。这样,当使用Auser账户登录后,在目标数据库中创建数据表后,这些表就属于“houqin”类别了。注意,如果以Windows账户身份连接到SQL Server服务器,当试图删除上述数据库中的Auser账户时。会出现错误提示。只有将上述“houqin”架构的所有者修改为dbo后,才可以删除Auser用户名。但是,Auser创建的数据库对象依然存在,因为其属于架构,这就实现了用户架构的分离操作。