SQLServer权限管理
sql server 服务账户和权限管理配置

大多数服务及其属性可通过使用SQL Server 配置管理器进行配置。
以下是在C 盘安装Windows 的情况下最新的四个版本的路径。
安装的服务SQL Server根据您决定安装的组件,SQL Server 安装程序将安装以下服务:∙SQL Server Database Services - 用于SQL Server 关系数据库引擎的服务。
可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlservr.exe。
∙SQL Server 代理 - 执行作业、监视SQL Server、激发警报以及允许自动执行某些管理任务。
SQL Server 代理服务在SQL Server Express 的实例上存在,但处于禁用状态。
可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlagent.exe。
∙Analysis Services - 为商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。
可执行文件为<MSSQLPATH>\OLAP\Bin\msmdsrv.exe。
∙Reporting Services - 管理、执行、创建、计划和传递报表。
可执行文件为<MSSQLPATH>\ReportingServices\ReportServer\Bin\ReportingServicesService.exe。
∙Integration Services - 为Integration Services 包的存储和执行提供管理支持。
可执行文件的路径是<MSSQLPATH>\130\DTS\Binn\MsDtsSrvr.exe ∙SQL Server Browser - 向客户端计算机提供SQL Server 连接信息的名称解析服务。
可执行文件的路径为c:\Program Files (x86)\Microsoft SQLServer\90\Shared\sqlbrowser.exe∙全文搜索 - 对结构化和半结构化数据的内容和属性快速创建全文索引,从而为SQL Server 提供文档筛选和断字功能。
【原】SQLServer权限用户设置

【原】SQLServer权限⽤户设置⼀、为什么要设置权限⽤户windows 验证登陆,只能在本机访问,⽤sqlserver验证登陆(也就是sa登陆),可以在局域⽹任意⼀台电脑访问登陆。
由于某种原因,给其他软件或者数据库开放接⼝,给对⽅⼀个账号但是要限制对⽅的访问权限的时候,就需要设置权限⽤户。
⼆、怎么去设置权限⽤户1、选择安全性---右击新建登录名(我们以test登录名为例)2、选择"常规"选项---设置你要新建的登录名---设置SQL Server⾝份验证密码---取消强制实施密码策略---选择⽬标数据库3、选择"服务器⾓⾊"--选择public服务器⾓⾊:服务器⾓⾊似乎是针对SQL Server登录名、Windows 帐户的,⽽某个数据库中建⽴的⽤户是不能具有服务器⾓⾊的。
例如:任何登录名建⽴后默认都是public服务器⾓⾊,public没有权限建⽴新的数据库;如果登录名具有dbcreator服务器⾓⾊,⽤它登录后,就可以创建新数据库;如果登录名具有securityadmin服务器⾓⾊,⽤它登录后,就可以管理其他登录名。
sysadmin 固定服务器⾓⾊的成员可以在服务器中执⾏任何活动serveradmin 固定服务器⾓⾊的成员可以更改服务器范围内的配置选项并关闭服务器securityadmin 固定服务器⾓⾊的成员管理登录名及其属性。
他们可以 GRANT、DENY 和 REVOKE 服务器级权限。
他们还可以GRANT、DENY 和 REVOKE 数据库级权限(如果他们具有数据库的访问权限)。
此外,他们还可以重置 SQL Server 登录名的密码。
processadmin 固定服务器⾓⾊的成员可以终⽌在 SQL Server 实例中运⾏的进程setupadmin 固定服务器⾓⾊的成员可以添加和删除链接服务器bulkadmin 固定服务器⾓⾊的成员可以运⾏ BULK INSERT 语句diskadmin 固定服务器⾓⾊⽤于管理磁盘⽂件dbcreator 固定服务器⾓⾊的成员可以创建、更改、删除和还原任何数据库public 每个 SQL Server 登录名均属于 public 服务器⾓⾊4、⽤户映射---选择要映射的数据库(也就是新建的登录名能访问那个数据库)---选择相应的数据库的操作权限数据库⾓⾊:作⽤范围数据,⽽⾮服务器(db_owner和 db_securityadmin 数据库⾓⾊的成员可以管理固定数据库⾓⾊成员⾝份。
sqlserver授权函数的权限

在SQL Server中,函数是一种用来处理数据并返回结果的特殊类型的存储过程。
在使用函数时,必须考虑对函数的授权和权限管理。
因为函数可以包含对数据库的敏感操作,所以需要合理管理和授权函数的权限以保护数据库的安全性和完整性。
对于SQL Server中的函数,授权权限是非常重要的。
在授权函数的权限时,需要考虑以下几个方面:1. 身份验证和授权在SQL Server中,授权权限是通过对数据库对象的授权来实现的。
要想对函数进行授权,首先需要对用户或登入名进行身份验证和授权。
这样才能保证只有经过认证和授权的用户才能对函数进行操作。
2. 对函数的执行权限对于一个函数来说,最基本的权限就是执行权限。
只有授权了执行权限的用户才能调用函数并得到结果。
在SQL Server中,可以使用GRANT语句对用户进行授权,使其具有执行函数的权限。
3. 对函数的修改权限除了执行权限之外,还需要考虑对函数的修改权限。
因为函数可能需要进行更新和维护,所以需要授权一些用户或角色具有修改函数的权限。
可以使用ALTER或CREATE语句对用户进行授权,使其具有对函数进行修改的权限。
4. 对函数的查看权限除了执行和修改权限之外,有时还需要对函数的查看权限进行授权。
这样可以确保只有经过授权的用户才能查看函数的定义和实现细节。
可以使用GRANT语句对用户进行授权,使其具有查看函数的权限。
5. 对函数的安全性在授权函数的权限时,还需要考虑函数的安全性。
对于一些敏感的函数,可能需要限制其访问权限,确保只有经过授权的用户才能调用和操作这些函数。
可以使用数据库角色和用户定义的权限来进行授权,从而实现对函数的安全性控制。
在进行函数的权限管理时,需要充分考虑数据库的安全性和完整性,合理授权函数的权限,确保只有经过授权的用户才能对函数进行操作。
只有这样才能保护数据库的安全性和完整性,确保数据不被非法访问和篡改。
结语在SQL Server中,函数是一种非常重要的数据库对象,可以用来处理数据并返回结果。
SQLServer授权权限

SQLServer授权权限1. SQLServer服务器级别,创建登录⽤户(create login)USE HIScreate login WN010with password='123456',--must_change, --仅适⽤于SQL Server登录。
如果包含此项,则SQLServer将在⾸次使⽤新登录时提⽰⽤户输⼊新密码。
--sid=,default_database = HIS,--default_language=language,check_expiration=off, --仅适⽤于SQL Server登录。
指定是否对此登录账户强制实施密码过去策略。
默认值offcheck_policy=off--仅适⽤于SQL Server登录。
指定对应词登录强制实施运⾏SQLServer计算机的Windows密码策略。
默认on--credential=sysadmin --将映射到新SQLServer登录的凭据名称。
该凭证必须已存在于服务器中。
此前此选项将凭据链接到登录名。
凭据不能映射到系统管理员(sa)登录名。
2. 创建数据库⽤户(create user),习惯上,“数据库⽤户”的名字和“登录账户”的名字相同。
create user WN010for login WN010with default_schema = dbo --默认实例3. master数据库授权访问视图权限否则⽆法执⾏update操作USE master grant view server state to WN0104. ⾃定义⾓⾊--只执⾏⼀次(创建updateHIS库中所有表的权限的⾓⾊)USE HISGOEXEC sp_addrole 'updateroler'--删除⾃定义⾓⾊:EXEC sp_droprole 'updateroler'GRANT UPDATE TO updateroler10--REVOKE UPDATE FROM updateroler--如果想授权指定表 --GRANT UPDATE ON dbo.ZY_BRSYK TO updateroler5. 通过加⼊数据库⾓⾊,赋予数据库⽤户“db_datareader”制度权限医技update权限USE HISGOexec sp_addrolemember 'db_datareader','WN010'--通过加⼊数据库⾓⾊,赋予数据库⽤户db_datareader权限exec sp_addrolemember 'updateroler','WN010'--再授予更新权限--删除⾓⾊成员--exec sp_droprolemember 'db_owner','WN002'/*⾓⾊名称⾓⾊描述db_owner 数据库的拥有者,该⾓⾊的⽤户可以在数据库中执⾏任何操作。
sqlserver权限管理

在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。
系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限。
数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组public。
1、建立SQL服务器用户名(登录帐号)作为一个用户,为了使用SQL Server,他必须在SQL Server上有一个SQL服务器用户名(登录帐号)。
这个帐号是系统管理员通过sp_addlogin来增加的。
sp_addlogin 登录名,口令,库名,语言,全名例:建立用户a, 口令为123456(最低六位),全名为aaa1> sp_addlogin a,test,null,null,aaa2> go3> select * from syslogins4> go2、增加数据库用户名同样,为了使用SQL Server上的数据库,他必须在数据库中有一个用户名,这个用户名是数据库所有者通过sp_adduser来增加的。
数据库用户名不必和用户帐户一样,而且在不同的数据库中用户名可以不同。
多个用户可以有相同的SQL Server帐户。
同样,多个SQL Server 帐户可以有相同的数据库名。
sp_adduser 登录名,别名,组名登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名为用户所属的数据库用户组。
例:用户a增加为test的用户,别名为a1,属于用户组china1>sp_addgroup china2>go1>sp_adduser a,a1,china2>go1> sp_helpuser2> go*例:删除别名a1,用户组china,登录名a1> use test2> go3> sp_dropuser a14> go5> sp_helpuser6> go1>sp_dropgroup china2>go2> go3> use master4> go5> sp_droplogin a6> go7> select * from syslogins8> go3、数据库操作授权grant 命令序列to 用户名A. 系统管理员可以授予其他用户CREATE DATABASE的权限,使其他用户可以成为数据库所有者。
sqlserver2008r2 权限管理说明 -回复

sqlserver2008r2 权限管理说明-回复SQL Server 2008 R2 权限管理说明SQL Server是一款功能强大的关系型数据库管理系统,提供了完善的权限管理机制,可以对数据库和对象进行细粒度的访问控制。
在SQL Server 2008 R2中,权限管理是非常重要的一环,它可以帮助数据库管理员(DBA)保护敏感数据,确保数据的安全性和完整性。
本文将详细介绍SQL Server 2008 R2的权限管理机制,包括登录、用户、角色和授权等内容。
1. 登录管理登录是SQL Server中的一个关键概念,它是用户访问数据库的凭证。
SQL Server 2008 R2支持Windows身份认证和SQL Server身份认证两种方式进行登录管理。
Windows身份认证使用操作系统的凭据进行认证,SQL Server身份认证则是通过用户名和密码进行认证。
登录的创建和授权都是由系统管理员(SA)或拥有相应管理权限的用户执行。
创建登录的语法如下:sqlCREATE LOGIN login_name WITH PASSWORD = 'password'授权登录的语法如下:sqlGRANT CONNECT SQL TO login_name2. 用户管理用户是指已经登录到系统中的安全标识,也是授权和分配权限的主体。
你可以为每个登录创建一个独立的用户,也可以为多个登录创建共享用户。
用户可以通过创建数据库用户来与数据库建立连接,执行特定的操作。
创建用户的语法如下:sqlCREATE USER user_name FOR LOGIN login_name授权用户的语法如下:sql3. 角色管理角色是一组用户的集合,可以将权限分配给角色而不是每个用户。
这样可以简化权限管理,并且在需要更改权限时,只需更改角色的权限而不用每个用户都进行更改。
SQL Server 2008 R2提供两种类型的角色:固定数据库角色和自定义数据库角色。
sqlserver增加角色所有权限的方法

如果你想给SQL服务器王国中所有的力量一个角色,你可以用GranT 语句喷出一些魔法。
但在此之前,你需要确保你拥有特别的 Grant 任何授权——就像有金钥匙打开数据库领域的任何门。
一旦有了这种
力量,就可以挥动你的魔杖,给予角色所有的权限,使其成为数据库
陆地的统治者。
准备释放最终的力量仅几个迷人的SQLMands!
如果你想给角色所有的权限,请使用 GranT 语句与所有PERMISIONS 。
这将赋予角色在数据库中做任何事情的能力,如选择、插入、更新、删除和执行。
给予角色所有权限的语法是: GranT All PERMISIONS to 《role—name》。
在执行GRAT声明之后,该角色应获得在数据库范围内采取任何行动
的必要许可。
鉴于如果不明智地管理安全方面的潜在风险,在授予角
色以一切许可时必须谨慎行事。
建议只允许履行具体行政或维护职责,而必须履行这些职责,并定期评估和审查数据库内赋予的职责。
SQL语句操作SQLSERVER数据库登录名、用户及权限

SQL语句操作SQLSERVER数据库登录名、⽤户及权限要想成功访问 SQL Server 数据库中的数据,我们需要两个⽅⾯的授权:1. 获得准许连接 SQL Server 服务器的权利;2. 获得访问特定数据库中数据的权利(select, update, delete, create table ...)。
假设,我们准备建⽴⼀个 dba 数据库帐户,⽤来管理数据库 mydb。
1. ⾸先在 SQL Server 服务器级别,创建登陆帐户(create login)--创建登陆帐户(create login)create login dba with password='abcd1234@', default_database=mydb登陆帐户名为:“dba”,登陆密码:abcd1234@”,默认连接到的数据库:“mydb”。
这时候,dba 帐户就可以连接到 SQL Server 服务器上了。
但是此时还不能访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库⽤户⾝份,可以访问 guest 能够访问的数据库对象)。
要使 dba 帐户能够在 mydb 数据库中访问⾃⼰需要的对象,需要在数据库 mydb 中建⽴⼀个“数据库⽤户”,赋予这个“数据库⽤户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库⽤户” 映射起来。
习惯上,“数据库⽤户” 的名字和 “登陆帐户”的名字相同,即:“dba”。
创建“数据库⽤户”和建⽴映射关系只需要⼀步即可完成:2. 创建数据库⽤户(create user):--为登陆账户创建数据库⽤户(create user),在mydb数据库中的security中的user下可以找到新创建的dbacreate user dba for login dba with default_schema=dbo并指定数据库⽤户“dba” 的默认 schema 是“dbo”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。
系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限。
数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组public。
1、建立SQL服务器用户名(登录帐号)作为一个用户,为了使用SQL Server,他必须在SQL Server上有一个SQL服务器用户名(登录帐号)。
这个帐号是系统管理员通过sp_addlogin来增加的。
sp_addlogin 登录名,口令,库名,语言,全名例:建立用户a, 口令为123456(最低六位),全名为aaa1> sp_addlogin a,test,null,null,aaa2> go3> select * from syslogins4> go2、增加数据库用户名同样,为了使用SQL Server上的数据库,他必须在数据库中有一个用户名,这个用户名是数据库所有者通过sp_adduser来增加的。
数据库用户名不必和用户帐户一样,而且在不同的数据库中用户名可以不同。
多个用户可以有相同的SQL Server帐户。
同样,多个SQL Server 帐户可以有相同的数据库名。
sp_adduser 登录名,别名,组名登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名为用户所属的数据库用户组。
例:用户a增加为test的用户,别名为a1,属于用户组china1>sp_addgroup china2>go1>sp_adduser a,a1,china2>go1> sp_helpuser2> go*例:删除别名a1,用户组china,登录名a1> use test2> go3> sp_dropuser a14> go5> sp_helpuser6> go1>sp_dropgroup china2>go2> go3> use master4> go5> sp_droplogin a6> go7> select * from syslogins8> go3、数据库操作授权grant 命令序列to 用户名A. 系统管理员可以授予其他用户CREATE DATABASE的权限,使其他用户可以成为数据库所有者。
B. 数据库所有者在他所拥有的数据库中,可以授予其他用户的权限有:l CREATE TABLE ------------------- 建表lCREATE DEFAULT ------------------ 建缺省lCREATE RULE ------------------- 建规则lCREATE PROCedure ------------------ 建存储过程lCREATE VIEW ------------------- 建视图lDUMP DATABASE ------------------- 备份数据库lDUMP TRANsaction ------------------ 备份日志C. 数据库对象所有者可以授予其他用户的操作权限有:l SELECTl UPDA TEl INSERTl EXECutel DELETEl REFERENCE例:授予a1在数据库test上建表,建视图,建存储过程;对表students有select,reference权;对name,native字段有update权。
1> use test2> go3> grant creat table,create procedure ,create view to a14> go5> grant select,reference on students to a1 with grant option6> go7> grant update on students(name,native) to a18> go10> go固定服务器角色描述sysadmin 可以在SQL Server 中执行任何活动。
serveradmin 可以设置服务器范围的配置选项,关闭服务器。
setupadmin 可以管理链接服务器和启动过程。
securityadmin 可以管理登录和CREATE DA TABASE 权限,还可以读取错误日志和更改密码。
processadmin 可以管理在SQL Server 中运行的进程。
dbcreator 可以创建、更改和除去数据库。
diskadmin 可以管理磁盘文件。
bulkadmin 可以执行BULK INSERT 语句。
固定数据库角色描述db_owner 在数据库中有全部权限。
db_accessadmin 可以添加或删除用户ID。
db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin 可以发出ALL DDL,但不能发出GRANT、REVOKE 或DENY 语句。
db_backupoperator 可以发出DBCC、CHECKPOINT 和BACKUP 语句。
db_datareader 可以选择数据库内任何用户表中的所有数据。
db_datawriter 可以更改数据库内任何用户表中的所有数据。
db_denydatareader 不能选择数据库内任何用户表中的任何数据。
db_denydatawriter 不能更改数据库内任何用户表中的任何数据。
sp_addrolemember 'public','username' --赋予username public的权限也可以先建一个角色:sp_addrole 'rolename' --并赋予这个角色读哪些表的权限sp_addrolememver 'rolename','username'--创建新的SQL Server 登录,使用户得以连接使用SQL Server 身份验证的SQL Server。
EXEC sp_addlogin @loginame = '', @passwd = '', @defdb = '', @deflanguage = NULL, @sid = NULL, @encryptopt = NULL--使Windows NT 用户或组帐户得以使用Windows 身份验证连接到SQL Server。
EXEC sp_grantlogin @loginame = ''--删除SQL Server 登录,以阻止使用该登录名访问SQL Server。
EXEC sp_droplogin @loginame = ''--阻止Windows NT 用户或组连接到SQL Server。
EXEC sp_denylogin @loginame = ''--从SQL Server 中删除用sp_grantlogin 或sp_denylogin 创建的Windows NT 用户或组的登录项。
EXEC sp_revokelogin @loginame = ''--更改登录的默认数据库。
EXEC sp_defaultdb @loginame = '', @defdb = ''--更改登录的默认语言。
EXEC sp_defaultlanguage @loginame = '', @language = ''--添加或更改SQL Server 登录密码。
EXEC sp_password @old = '', @new = '', @loginame = ''--添加服务器角色新成员。
EXEC sp_addsrvrolemember @loginame = '', @rolename = ''--添加服务器角色某成员。
EXEC sp_dropsrvrolemember @loginame = '' , @rolename = ''--为SQL Server 登录或Windows NT 用户或组在当前数据库中添加一个安全帐户,并使其能够被授予在数据库中执行活动的权限(授予默认的“public”数据库角色)。
EXEC sp_grantdbaccess @loginame = '', @name_in_db = NULL--或EXEC sp_adduser @loginame = '', @name_in_db = NULL, @grpname = ''--从当前数据库中删除安全帐户。
EXEC sp_revokedbaccess @name_in_db = ''--或EXEC sp_dropuser @name_in_db = ''--在当前数据库创建新数据库角色。
EXEC sp_addrole @rolename = '', @ownername = ''--在当前数据库删除某数据库角色。
EXEC sp_droprole @rolename = ''--在当前数据库中添加数据库角色新成员。
EXEC sp_addrolemember @rolename = '', @membername = ''--在当前数据库中删除数据库角色某成员。
EXEC sp_droprolemember @rolename = '', @membername = ''--权限分配给数据库角色、表、存储过程等对象--1、授权访问GRANT--2、拒绝访问DENY--3、取消授权或拒绝REVOKE--4、Sample(pubs):GRANT SELECT ON authors TO LimperatorDENY SELECT ON authors TO LimperatorREVOKE SELECT ON authors TO Limperator。