sql server 2005 添加架构 需要什么权限

网上有关“sql server 2005 添加架构 需要什么权限”话题很是火热,小编也是针对sql server 2005 添加架构 需要什么权限寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

架构的作用与示例

用户与架构(schema)分开,让数据库内各对象?再绑在某个用户账号上,可以解决SQL SERVER 2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,?必要大费周章地?改该用户所有的对象属于新的用户所有。另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容?区别。也就是说,在单一数据库内,?同部门或目的的对象,可以通过架构区分?同的对象命名原则与权限。

在 SQL Server 2005 /2008中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。并且可以在架构中创建具有用户友好名称的对象,明确指示对象的功能。例如,除了 cus.app.entry.customEntry 外,您还可以创建名为 cus.app.manifest.customEntry 的架构。因为“manifest”不是用户,所以从数据库中删除用户后,无需更改此名称。这就简化了数据库管理员和开发人员的工作。

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

下面的显示SQL Server权限层次结构的图可能会给我们一个直观的认识:

SQL Server 2005/2008 Database Engine 管理着可以通过权限进行保护的实体的分层集合。这些实体称为“安全对象”。在安全对象中,最突出的是服务器和数据库,但可以在更细的级别上设置离散权限。SQL Server 通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。

安全对象关系如下图:

下面举个具体的示例来说明以一下架构的作用。

--命令对架构进行操作

use master

go

setuser

go

--创建测试数据库

create database schTest

go

create login df with password='sj1234',default_database=schTest

create login xhl with password='sj1245',default_database=schTest

go

use schTest

go

-- 创建两个用户时没有指定属于哪个架构

create user df for login df

create user xhl for login xhl

-- 这个表没指定属于哪个架构属于默认DBO 架构

go

create table tb1 (姓名 varchar(8),性别 char(2))

go

--这个表就属于sch架构

create schema sch

go

create table sch.tb2(姓名 varchar(8),性别 char(2),年龄 int)

go

-- 赋予schTest这个用户查询sche架构中的对象的权限.

grant select on schema::sch to df

go

setuser 'df' --切换用户df

select * from tb2

-- 此时报告"对象名无效" 是因为没有指定tb2的架构,系统默认为dbo,而我们的tb2属于sch架构.

--带上架构名称,就可以查询了

go

select * from sch.tb2

go

setuser -- 切换到sa

---切换到xhl

setuser 'xhl'

--不能查询,是因为没有权限

select * from sch.tb2

go

setuser --切换sa

--给df用户赋默认架构

alter user df with default_schema=sch

go

setuser 'df' --切换df

-- 此时不需要指定sch 也可以了,如果架构中还有其他对象,也可以查询

select * from tb2

go

setuser --切换sa

--创建第三张测试表,同样的是sch架构下

create table sch.tb3 (id int,uname varchar(8))

go

--切换用户df

setuser 'df'

---可以进行查询

select * from tb3

go

---但是无法进行数据插入,因为没有插入权限

insert into tb3 values (1,'abcde') --拒绝了insert权限

go

setuser

--赋插入权限

grant insert on schema::sch to df

--切换用户df

setuser 'df'

go

---可以进行数据插入

insert into tb3 values (1,'abcde') --OK!

---查询结果

select * from tb3

GO

Grant alter on schema::sch to df -- 使schTest 这个用户对所有的架构都有可更改的能力。

--错误

--无法对sa、dbo、实体所有者、information_schema、sys 或您自己授予、拒绝或撤消权限。

GO

Use master

go

Grant control server to df -- 使schTest这个用户能够控制服务器。

--错误

--无法对sa、dbo、实体所有者、information_schema、sys 或您自己授予、拒绝或撤消权限。

setuser

go

use schtest

go

--创建架构sch1

create schema sch1

go

-- 修改对象的架构tb2表的架构由sch 转移到sch1

alter schema sch1 transfer sch.tb2

go

--创建一个新用户,同时指定默认schema,默认属于DBO

create login yhy with password='sj1234',default_database=master

GO

use schTest

GO

create user yhy for login yhy with default_schema=sch --属于sch

--切换用户yhy

setuser 'yhy'

--查询表,对象名'tb2' 无效。

select * from tb2

go

setuser

--赋架构权限

grant select on schema::sch1 to yhy

--切换用户yhy

setuser 'yhy'

go

select * from tb2 ---还是无效,因为不在同一个schema

go

setuser

go

alter user yhy with default_schema=sch1 --更改yhy的默认架构

GO

--由于yhy不是当前用户,所以无法进行查询

select * from tb2

--显示当前用户

GO

select user

GO

--切换用户yhy

setuser 'yhy'

-- 此时就可以进行查询了,如果架构中还有其他对象,也可以查询

go

select * from tb2

--显示当前用户

select user

go

--切换用户

Setuser

--切换用户为df

setuser 'df'

-- 此时由于tb2的架构由sch变为了sch1,所以df就不可以查询tb2了

go

--查询报错

select * from tb2

--显示当前用户

select user

go

setuser

go

use master

go

---删除用户

drop user df

drop user xhl

drop user yhy

---删除登录名

drop login df

drop login yhy

drop login xhl

--删除数据库

drop database schTest

关于“sql server 2005 添加架构 需要什么权限”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[伊人飘雪]投稿,不代表盛龙号立场,如若转载,请注明出处:https://m.snlon.net/sn/8220.html

(136)

文章推荐

  • seo优化的六大步骤有哪些都知道吗

    网上有关“seo优化的六大步骤有哪些都知道吗”话题很是火热,小编也是针对seo优化的六大步骤有哪些都知道吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。一、网站合理的散布关键词密度网站关键词的密度分配,也是一个网站优化的重中之中,可是许多的网站优化专员,把关

    2025年09月19日
    161321
  • 淘宝客微信推广技巧

    网上有关“淘宝客微信推广技巧”话题很是火热,小编也是针对淘宝客微信推广技巧寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。淘宝客推广是很赚钱多这个大家都知道,但是大家知道吗有一款软件特别的火,这款软件是淘宝客自动推广软件。那么这款软件是如何实现自动推广的呢?

    2025年10月19日
    128308
  • 第一宇宙速度是多少马赫

    网上有关“第一宇宙速度是多少马赫”话题很是火热,小编也是针对第一宇宙速度是多少马赫寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。第一宇宙速度:7900m/s,马赫(即音速):340m/s,7900/340=23.2马赫,马赫数等于当时当地的音速的倍数,在不同

    2025年10月21日
    685301
  • 实操教程“雀神麻将小程序免费开挂器”其实确实有挂

    >亲,雀神麻将小程序免费开挂器这款游戏原来确实可以开挂,详细开挂教程1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、非诚勿扰。2022首推。全网独家,诚信可靠,无效果全额退款,本司推出的多功能作 弊辅助软件

    2025年11月14日
    99312
  • 教程开挂辅助“微乐捉老麻子如何才能赢”其实确实有挂

    >亲,微乐捉老麻子如何才能赢这款游戏原来确实可以开挂,详细开挂教程1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、非诚勿扰。2022首推。全网独家,诚信可靠,无效果全额退款,本司推出的多功能作 弊辅助软件。

    2025年11月14日
    89313
  • 用牌做的手工收纳盒

    网上有关“用牌做的手工收纳盒”话题很是火热,小编也是针对用牌做的手工收纳盒寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。用牌做手工收纳盒方法如下:1.将扑克牌两两相扣。2.相同方法制作8个。3.将一张扑克牌插进扑克牌扣中。4.连续穿插将其连接成一个圆。5.再

    2025年12月03日
    106306
  • 必看教程“手机麻将外卦神器下载安装免费”开挂(透视)辅助教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由:1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款软件的用户可以非常安心,绝对没有被封的危险存

    2025年12月10日
    73305
  • 必看教程“微信跑得快小程序怎么拿好牌”开挂(透视)辅助教程

    亲,微信跑得快小程序怎么拿好牌这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通过添加客服微:本司针对手游进行匹配,选择我们的四大理由:1、

    2025年12月13日
    73310
  • 老年工资卡怎么认证

    网上有关“老年工资卡怎么认证”话题很是火热,小编也是针对老年工资卡怎么认证寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。退休人员本人,持身份证、退休证(或养老金领取资格证)、工资卡、协助认证表到本人居住地乡镇劳动保障所。一、养老保险怎么认证从手机上1、电

    2025年12月17日
    116318
  • 辅助神器“微乐划水麻将破解版”开挂(透视)辅助教程

     >>>您好:微乐划水麻将破解版,软件加微信【】确实是有挂的,很多玩家在微乐划水麻将破解版这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑微乐划水麻将破解版这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【

    2025年12月20日
    71320
  • 辅助神器“微乐麻将怎么提高胜率”开挂(透视)辅助教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由:1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款软件的用户可以非常安心,绝对没有被封的危险存

    2026年01月17日
    40306
  • 工时是怎么算的

    网上有关“工时是怎么算的”话题很是火热,小编也是针对工时是怎么算的寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。法律分析:工时的计算方法:年工作日:365天-104天(休息日)-11天(法定节假日)=250天季工作日:250天?4季=62.5天/季月工作日:

    2026年01月31日
    9307

发表回复

本站作者才能评论

评论列表(3条)

  • 伊人飘雪的头像
    伊人飘雪 2025年10月02日

    我是盛龙号的签约作者“伊人飘雪”

  • 伊人飘雪
    伊人飘雪 2025年10月02日

    本文概览:网上有关“sql server 2005 添加架构 需要什么权限”话题很是火热,小编也是针对sql server 2005 添加架构 需要什么权限寻找了一些与之相关的一些信息进...

  • 伊人飘雪
    用户100204 2025年10月02日

    文章不错《sql server 2005 添加架构 需要什么权限》内容很有帮助