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

sql server 2005 添加架构 需要什么权限,第1张

架构的作用与示例

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

在 SQL Server 2005 /2008中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。并且可以在架构中创建具有用户友好名称的对象,明确指示对象的功能。例如,除了 cusappentrycustomEntry 外,您还可以创建名为 cusappmanifestcustomEntry 的架构。因为“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 schtb2(姓名 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 schtb2

go

setuser -- 切换到sa

---切换到xhl

setuser 'xhl'

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

select from schtb2

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 schtb3 (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 schtb2

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

数据库优化是系统工程,性能的提升靠整体。本课程将面面俱到的讲解提升数据库性能的各种因素,让你在最短的时间从小白到资深,将数据库整体架构了然于胸

第1章 实例和故事 试看7 节 | 50分钟

决定电商11大促成败的各个关键因素。

收起列表

视频:1-1 什么决定了电商双11大促的成败 (04:04)试看

视频:1-2 在双11大促中的数据库服务器 (06:03)

视频:1-3 在大促中什么影响了数据库性能 (07:55)

视频:1-4 大表带来的问题 (14:13)

视频:1-5 大事务带来的问题 (17:27)

作业:1-6 讨论题在日常工作中如何应对高并发大数据量对数据库性能挑战

作业:1-7 讨论题在MySQL中事务的作用是什么?

第2章 什么影响了MySQL性能 试看30 节 | 210分钟

详细介绍影响性能各个因素,包括硬件、 *** 作系统等等。

收起列表

视频:2-1 影响性能的几个方面 (04:08)试看

视频:2-2 CPU资源和可用内存大小 (10:54)

视频:2-3 磁盘的配置和选择 (04:44)

视频:2-4 使用RAID增加传统机器硬盘的性能 (11:30)

视频:2-5 使用固态存储SSD或PCIe卡 (08:35)

视频:2-6 使用网络存储SAN和NAS (07:16)

视频:2-7 总结:服务器硬件对性能的影响 (03:27)

视频:2-8 *** 作系统对性能的影响-MySQL适合的 *** 作系统 (03:50)

视频:2-9 CentOS系统参数优化 (11:43)

视频:2-10 文件系统对性能的影响 (03:29)

视频:2-11 MySQL体系结构 (05:29)

视频:2-12 MySQL常用存储引擎之MyISAM (13:23)

视频:2-13 MySQL常用存储引擎之Innodb (10:44)

视频:2-14 Innodb存储引擎的特性(1) (15:24)

视频:2-15 Innodb存储引擎的特性(2) (08:44)

视频:2-16 MySQL常用存储引擎之CSV (09:19)

视频:2-17 MySQL常用存储引擎之Archive (06:08)

视频:2-18 MySQL常用存储引擎之Memory (10:40)

视频:2-19 MySQL常用存储引擎之Federated (11:21)

视频:2-20 如何选择存储引擎 (04:33)

视频:2-21 MySQL服务器参数介绍 (08:04)

视频:2-22 内存配置相关参数 (09:24)

视频:2-23 IO相关配置参数 (10:01)

视频:2-24 安全相关配置参数 (06:13)

视频:2-25 其它常用配置参数 (03:41)

视频:2-26 数据库设计对性能的影响 (04:36)

视频:2-27 总结 (01:32)

作业:2-28 讨论题你会如何配置公司的数据库服务器硬件?

作业:2-29 讨论题你认为对数据库性能影响最大的因素是什么

作业:2-30 讨论题做为电商的DBA,建议开发选哪种MySQL存储引擎

第3章 MySQL基准测试8 节 | 65分钟

了解基准测试,MySQL基准测试工具介绍及实例演示。

收起列表

视频:3-1 什么是基准测试 (02:20)

视频:3-2 如何进行基准测试 (09:00)

视频:3-3 基准测试演示实例 (11:18)

视频:3-4 Mysql基准测试工具之mysqlslap (13:30)

视频:3-5 Mysql基准测试工具之sysbench (11:07)

视频:3-6 sysbench基准测试演示实例 (17:11)

作业:3-7 讨论题MySQL基准测试是否可以体现出业务系统的真实性能

作业:3-8 实 *** 题参数不同取值对性能的影响

第4章 MySQL数据库结构优化14 节 | 85分钟

详细介绍数据库结构设计、范式和反范式设计、物理设计等等。

收起列表

视频:4-1 数据库结构优化介绍 (06:52)

视频:4-2 数据库结构设计 (14:49)

视频:4-3 需求分析及逻辑设计 (11:00)

视频:4-4 需求分析及逻辑设计-反范式化设计 (06:44)

视频:4-5 范式化设计和反范式化设计优缺点 (04:06)

视频:4-6 物理设计介绍 (05:17)

视频:4-7 物理设计-数据类型的选择 (18:59)

视频:4-8 物理设计-如何存储日期类型 (13:37)

视频:4-9 物理设计-总结 (02:37)

图文:4-10 说明MyISAM和Innodb存储引擎的5点不同

作业:4-11 讨论题判断表结构是否符合第三范式要求如不满足要如何修改

作业:4-12 实 *** 题请设计一个电商订单系统的数据库结构

作业:4-13 讨论题以下那个字段适合作为Innodb表的主建使用

作业:4-14 讨论题请为下表中的字段选择合适的数据类型

第5章 MySQL高可用架构设计 试看24 节 | 249分钟

详细介绍二进制日志及其对复制的影响、GTID的复制、MMM、MHA等等。

收起列表

视频:5-1 mysql复制功能介绍 (04:58)

视频:5-2 mysql二进制日志 (22:05)

视频:5-3 mysql二进制日志格式对复制的影响 (09:37)

视频:5-4 mysql复制工作方式 (03:08)

视频:5-5 基于日志点的复制 (20:06)

视频:5-6 基于GTID的复制 (22:32)

视频:5-7 MySQL复制拓扑 (13:58)

视频:5-8 MySQL复制性能优化 (09:23)

视频:5-9 MySQL复制常见问题处理 (08:31)

视频:5-10 什么是高可用架构 (14:09)

视频:5-11 MMM架构介绍 (08:09)

视频:5-12 MMM架构实例演示(上) (09:16)试看

视频:5-13 MMM架构实例演示(下) (18:55)

视频:5-14 MMM架构的优缺点 (08:01)

视频:5-15 MHA架构介绍 (10:02)

视频:5-16 MHA架构实例演示(1) (13:11)

视频:5-17 MHA架构实例演示(2) (16:54)

视频:5-18 MHA架构优缺点 (05:14)

视频:5-19 读写分离和负载均衡介绍 (11:42)

视频:5-20 MaxScale实例演示 (18:25)

作业:5-21 讨论题MySQL主从复制为什么会有延迟,延迟又是如何产生

作业:5-22 实 *** 题请为某互联网项目设计9999%MySQL架构

作业:5-23 讨论题如何给一个已经存在的主从复制集群新增一个从节点

作业:5-24 讨论题给你三台数据库服务器,你如何设计它的高可用架构

第6章 数据库索引优化8 节 | 65分钟

介绍BTree索引和Hash索引,详细介绍索引的优化策略等等。

收起列表

视频:6-1 Btree索引和Hash索引 (20:09)

视频:6-2 安装演示数据库 (01:19)

视频:6-3 索引优化策略(上) (17:33)

视频:6-4 索引优化策略(中) (13:02)

视频:6-5 索引优化策略(下) (12:30)

作业:6-6 讨论题一列上建立了索引,查询时就一定会用到这个索引吗

作业:6-7 讨论题在定义联合索引时为什么需要注意联合索引中的顺序

作业:6-8 实 *** 题SQL建立索引,你会考虑那些因素

第7章 SQL查询优化9 节 | 62分钟

详细介绍慢查询日志及示例演示,MySQL查询优化器介绍及特定SQL的查询优化等。

收起列表

视频:7-1 获取有性能问题SQL的三种方法 (05:14)

视频:7-2 慢查询日志介绍 (08:57)

视频:7-3 慢查询日志实例 (08:27)

视频:7-4 实时获取性能问题SQL (02:21)

视频:7-5 SQL的解析预处理及生成执行计划 (16:02)

视频:7-6 如何确定查询处理各个阶段所消耗的时间 (09:35)

视频:7-7 特定SQL的查询优化 (10:34)

作业:7-8 讨论题如何跟据需要对一个大表中的数据进行删除或更新

作业:7-9 讨论题如何获取需要优化的SQL查询

第8章 数据库的分库分表5 节 | 48分钟

详细介绍数据库分库分表的实现原理及演示案例等。

收起列表

视频:8-1 数据库分库分表的几种方式 (04:34)

视频:8-2 数据库分片前的准备 (13:53)

视频:8-3 数据库分片演示(上) (11:40)

视频:8-4 数据库分片演示(下) (17:02)

作业:8-5 讨论题对于大表来说我们一定要进行分库分表吗

第9章 数据库监控7 节 | 29分钟

介绍数据库可用性监控、性能监控、MySQL主从复制监控等

收起列表

视频:9-1 数据库监控介绍 (04:46)

视频:9-2 数据库可用性监控 (07:20)

视频:9-3 数据库性能监控 (09:39)

视频:9-4 MySQL主从复制监控 (06:16)

作业:9-5 讨论题QPS是否可以真实的反映出数据库的负载情况

作业:9-6 讨论题如何正确评估数据库的当前负载状况

作业:9-7 实 *** 题开发一个简单监控脚本,监控mySQL数据库阻塞情况

oracle 数据库架构本质上是C/S结构的。 服务器与客户端是分开的,即时服务器和客户端是在同一机器上,他们也是按照客户端/服务器模式运行的,他们之间的进程是分开的。 希望能帮助你。

以上就是关于sql server 2005 添加架构 需要什么权限全部的内容,包括:sql server 2005 添加架构 需要什么权限、扛得住的MySQL数据库架构、oracle数据库的架构是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9532360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存