您的位置:首页 > 数据库

SQLsever用户权限管理和数据库映射

2010-12-27 13:29 369 查看
SQL Server2005中"用户映射"里成员身份选项的意思

用户映射
public 维护所有默认权限

db_owner 执行所有数据库角色活动

db_accessadmin 添加和删除数据库用户, 组及角色

db_ddladmin 添加、更改或删除数据库对象

db_security admin 分配语句执行和对象权限

db_backupoperator 备份数据库

db_datareader 读取任何表中的数据

db_datawriter 添加、更改或删除所有表中的数据

db_denydatareader 不能读取任何表中的数据

db_denydatawriter 不能更改任何表中的数据

/*服务器角色*/

sysadmin

--在 SQL Server 中进行任何活动。该角色的权限跨越所有其它固定服务器角色。

serveradmin

--配置服务器范围的设置。

setupadmin

--添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)。

securityadmin

--管理服务器登录。

processadmin

--管理在 SQL Server 实例中运行的进程。

dbcreator

--创建和改变数据库。

diskadmin

--管理磁盘文件。

bulkadmin

--执行 BULK INSERT 语句。

%%%%%%%%%%%%%

用户权限

SQLSERVER2005数据库用户权限

SQL SERVER2005 身份验证模式分为windows身份验证模式和sql server 2005 身份验证模式

固定的服务器角色(不可以创建)

所有的服务器角色都是“固定的”角色,并且,从一开始就存在于那里——自安装完SQL Server的那一刻起,你将拥有的所有服务器角色就已

经存在了。

sysadmin

该角色能够执行SQL Server上的任何操作。本质上,任何具有这种角色成员身份的人都是那个服务器上的sa。这种服务器角色的创建为微软提

供了某一天去除sa登录的能力——实际上,联机丛书把sa称作本质上为遗留物的东西

值得注意的是,在SQL Server上,Windows的Administrators组被自动映射到sysadmin角色中。这意味着服务器的Administrators组中的任何成

员同时也具有对SQL数据的sa级别的访问权限。如果需要,你可以从sysadmin角色中删除Windows的administrators组,以提高安全性、防范漏



serveradmin

该角色能设置服务器范围的配置选项或关闭服务器。尽管它在范围上相当有限,但是,由该角色的成员所控制的功能对于服务器的性能会产生

非常重大的影响

setupadmin

该角色仅限于管理链接服务器和启动过程

securityadmin

对于专门创建出来用于管理登录名、读取错误日志和创建数据库许可权限的登录名来说,该角色非常便利。在很多方面,该角色是典型的系统

操作员角色——它能够处理多数的日常事务,但是,却不具备一个真正无所不能的超级用户所拥有的那种全局访问

processadmin

能够管理SQL Server中运行的进程——必要的话,该角色能够终止长时间运行的进程

dbcreator

该角色仅限于创建和更改数据库

diskadmin

管理磁盘文件(指派给了什么文件组、附加和分离数据库,等等)

bulkadmin

该角色有些怪异。它被明确创建出来,用于执行BULK INSERT语句的权限,否则的话,只能由具有sysadmin权限的人来执行BULK INSERT语句。

坦白地说,我不明白为什么该语句不能像其他事情那样通过GRANT命令来授予权限,但它的确没有。要记住,即使把一个用户加入到了

bulkadmin组中,也只是给了他们访问那个语句的权限,对于运行该语句的表,并没有授予用户访问那个表的权限。这意味着不仅需要把用户添

加到bulkadmin中,而且,对于想要用户能在其上执行BULK INSERT的表,还要授予(GRANT)用户INSERT许可权限。此外,对于将在BULK

INSERT语句中引用的所有表,还要确保用户拥有正确的到那些表的SELECT访问权限

1.固定数据库角色

就如同存在若干个固定服务器角色一样,这里也有许多的固定数据库角色。他们中的一些有预先定义好的专门的用途,这是不能使用常规的语

句复制出来的(即是说,你无法创建拥有同样功能的用户定义数据库角色)。然而,大多数角色的存在是为了处理更一般的情形,并让你做起

事情来更加容易。

db_owner

该角色表现得就好像它是所有其他数据库角色中的成员一样。使用这一角色能够造就这样的情形:多个用户可以完成相同的功能和任务,就好

像他们是数据库的所有者一样

db_accessadmin

实现类似于securityadmin服务器角色所实现功能的一部分,只不过这一角色仅局限于指派它并创建用户的单个数据库中(不是单个的权限)

。它不能创建新的SQL Server登录账户,但是,该角色中的成员能够把Windows用户和组以及现有的SQL Server登录账户加入到数据库中

db_datareader

能够在数据库中所有的用户表上执行SELECT语句

db_datawriter

能够在数据库中所有的用户表上执行INSERT、UPDATE和DELETE语句

db_ddladmin

能够在数据库中添加、修改或删除对象

db_securityadmin

securityadmin服务器角色的数据库级别的等价物。这一数据库角色不能在数据库中创建新的用户,但是,能够管理角色和数据库角色的成员

,并能在数据库中管理语句和对象的许可权限

db_backupoperator

备份数据库(打赌你不会想到那样一个角色!)

db_denydatareader

提供一种等同于在数据库中所有表和视图上DENY SELECT的效果

db_denydatawriter

类似于db_denydatareader,只不过这里影响的是INSERT、UPDATE和DELETE语句

下面是环境用户

1、设置SQL Server身份验证模式

在 mirosoft sql server manamement studio中,右键服务器-属性-安全性-服务器身份验证中-选择“sql server和windows身份验证模式”

要重启sql server 服务

2、新建Windows登录账户、新建SQL Server登录账户

在 mirosoft sql server manamement studio中,安全性-登录名-右键“新建登录名”可对密码有强制密码增加安全,可以选择数据库。

3、将登录账户加入服务器角色

在 mirosoft sql server manamement studio中,安全性-服务器角色-选择个角色-右键属性中添加用户。

4、用户的映射

在 mirosoft sql server manamement studio中,安全性-登录名-右键属性用户映射

在域下面想用别的用户登录

开始-程序-管理工具-域控制器安全设置中-本地策略-用户权限分配-允许本地登录中添加。(要刷新策略在开始-运行-gpupdate才能生效)

在开始-程序-microsoft sql server2005-sql server management studio右键选择“运行方式”可以改变windows的登录用户。

远程登录

先要把在域上的sql改个成默认的端口号1433

1、开始-程序-microsoft sql server 2005-配置工具-sql server configuration manager

里面的sql server 2005 网络配置-MSSQLSERVER的协议-TCP/IP协议-IP地址中可以改都要改了

2、对方的的应该是使用SQL SERVER和WINDOWS身份验证模式、把给你们建立一个登录帐户。针对他们要管理的数据库。

建立用户mirosoft sql server manamement studio中的安全性-登录名-右键新建登录名然后选择sql验证,输入密码,在用户映射中选择你要

映射的数据库存,在下面数据库角色中给他权限就成了。

3、对方用启动mirosoft sql server manamement studio 在连接中“服务器名称”输入对方的IP、SQL验证,输入用户名密码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: