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

合集下载

浅析SQLServer数据库管理权限设置

浅析SQLServer数据库管理权限设置

浅析SQLServer数据库管理权限设置浅析SQL Server数据库管理权限设置摘要:数据库中的每一个对象都由一个数据库的用户所拥有。

数据库对象在刚刚创建以后,只有该对象的所有者才能访问。

如果其他用户想访问该对象,需要得到数据库对象所有者所赋予的权限。

数据库对象的所有者可以将其他用户的登录账户映射为数据库的用户账户,并将该用户添加到某个数据库角色中,从而允许其他用户进行适当的操作。

关键词:SQL Server数据库管理权限1、权限的种类用户登录到SQL Server后,角色和用户的权限就已确定了,他们对数据库所能执行的操作权限,在SQL Server中分为三类,分别是:对象权限、语句权限和隐含权限。

下面对这三种权限的概念加以介绍。

1.1 对象权限如用户可以执行特定的存储过程,他就具有执行这个存储过程对象的权限。

对象权限决定了用户操作的数据库对象,它主要包括数据库中的表、视图、列或存储过程等对象。

不同类型的对象所支持的操作也不同。

1.2 语句权限语句权限决定用户能否操作数据库和创建数据库对象,语句权限(如CREATE DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。

1.3 隐含权限隐含权限控制那些只能由预定义系统角色成员或数据库对象所有者执行的活动。

例如,sysadmin固定服务器角色成员自动继承在SQL Server中的全部权限。

在SQL Server中,数据库对象所有者以及服务器固定角色均具有隐含权限,可以对所拥有的对象执行一切活动。

例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。

2、权限的设置设置权限有两种方法:其一是使用SQL Server Management Studio;另一种方法是使用T-SQL语句管理权限。

它们之间各有利弊,使用SQL Server Management Studio操作简单、直观,但是它不能设置表或视图的列权限;使用T-SQL语句操作。

最新最新最新sql server 服务账户和权限配置教学文稿

最新最新最新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权限管理

在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 权限管理说明 -回复

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提供两种类型的角色:固定数据库角色和自定义数据库角色。

SQL Server的用户权限管理

SQL Server的用户权限管理
的登陆用户是否对这些登陆用户有很详细的了解,这里所说的了解是指具体的用
途,比如:user_a只能
读某个数据库的某个表;user_b
可以读、写某个数据库的
某些表等。有些管理员为了偷懒省事,直接复给它个db_owner更有甚者给它
System Administrator
s权限,这样暂时虽然给您的操作
带来了方便,但同时也给
该数据库选择相应的
权限public,如果您还选择了db_owne
r,那么该用户就有了:添加、删除、修改
该数据库的权限,这里我们不选,目的是为了对数据库中的表单独设置具体的权
限。如图(三):
图(三)
点击确定。
2、打开刚才选择的数据库展开它->选择Users,在右边出现了我们刚才建立
的用户->属性(右键),如图(四):
图(一)
选择第二栏Server Roles,里面可以选择该用户的权限,需要注意的是,如
果您选择了System Administrators
,那么后面的Database Access栏就不用选
择了,因为此时你的权限最大可以做任何事,这里我们不选,如图(二):
图(二)
选择第三栏Database A
ccess选择要访问的数据库,为
hacker们带来了方便。:)。因此这里有一个建议:“在建立登陆用户时,把它
的详细用途用笔记下,然后整理,同时也为下次核查数据库的安全做了参考”
例如:
二、正确的建立SQL Server用户
1、打开SQL Server Enterprise Man
ager,在登陆中建立一个新的用户,在
General栏中,输入名字->选择登陆方式->输入密码->选择默认的数据库,如图(一):

sqlserver服务账户和权限管理配置培训资料

sqlserver服务账户和权限管理配置培训资料

sqlserver服务账户和权限管理配置培训资料SQL Server是一款常用的关系型数据库管理系统,用于存储、管理和操纵数据。

在企业中使用SQL Server时,确保服务账户和权限的正确配置非常重要。

本篇培训资料将介绍SQL Server服务账户和权限管理的基本概念以及具体配置方法。

一、SQL Server服务账户1. 什么是SQL Server服务账户SQL Server服务账户是SQL Server实例运行所需的Windows 账户,用于执行数据库引擎服务、代理服务和数据库服务,并提供运行时环境。

每个服务都需要独立的服务账户。

2. 服务账户的类型SQL Server服务账户分为本地账户和域账户两种类型:- 本地账户:仅限于本地服务器上使用,适用于独立服务器或测试环境。

- 域账户:存储在Windows域中的账户,可以跨多个服务器使用,适用于大规模企业环境。

3. 选择适当的服务账户在选择服务账户时应考虑以下几个因素:- 安全性:为了最大程度地保护数据库的安全,建议使用域账户,并遵循最少特权原则。

- 管理:使用域账户可以集中管理,并为不同的服务分配不同的账户,便于维护和审计。

- 高可用性:确保服务账户拥有适当的权限,以便支持SQLServer集群、镜像和Always On可用性组等功能。

二、SQL Server权限管理1. 什么是权限权限是指用户或用户组对数据库对象执行特定操作的能力。

SQL Server使用细粒度权限模型来管理数据库访问,确保只有经授权的用户可以执行特定操作。

2. 常见的权限类型- 基本权限:包括SELECT、INSERT、UPDATE、DELETE等,用于控制对表或视图的读写操作。

- DDL权限:用于控制对数据库结构的更改,如CREATE、ALTER和DROP等。

- 系统权限:用于控制对服务器级别的操作,如CREATE LOGIN、CREATE DATABASE和SHUTDOWN等。

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

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>\Reporting Services\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 提供文档筛选和断字功能。

sql server 账号权限限制表

sql server 账号权限限制表

SQL Server账号权限限制表一、背景介绍SQL Server是一种常用的关系型数据库管理系统,它为用户提供了丰富的数据管理和处理功能。

为了保护数据库的安全性和 integrity, 它采用了用户账号和权限的管理机制,以便对数据库的访问和操作进行控制。

一个用户在数据库中需要经过注册,而注册成功后的用户账户可以被授予不同的权限,以满足不同用户的需求。

二、权限管理的重要性数据库中的权限管理是保护数据安全的关键措施之一。

如果数据库的账号权限管理不到位,可能会导致数据泄露、恶意篡改甚至数据丢失等危险情况的发生。

建立一个严格的账户权限限制表是至关重要的。

三、账号权限限制表的内容为了对SQL Server中的账号权限进行合理的管理,我们需要建立一份账号权限限制表。

该表应包含以下内容:1. 用户账号:列出数据库中所有的用户账号。

2. 账号类型:标明每个用户账号的类型,如管理员账号、普通用户账号等。

3. 访问权限:明确每个账号的访问权限,包括对哪些数据库和哪些表的读、写、修改等权限。

4. 操作权限:详细列出每个账号的数据库操作权限,包括创建、删除、更新、备份等操作权限。

5. 特殊权限:如果有一些特殊权限需求,如视图的创建等,也应该在表中进行说明。

6. 备注:对每个账号的权限限制做出解释和说明,以便日后管理维护时参考。

四、权限限制表的更新和维护建立完账号权限限制表后,还需要进行定期的更新和维护。

随着数据库的使用和管理,用户账号的权限需求可能会发生变化。

需要及时更新权限限制表,并且对表中的权限进行审查,以确保数据库中的权限都是合理有效的。

五、总结建立一份完善的账号权限限制表,可以帮助数据库管理人员更好地对SQL Server中的账号权限进行管理和控制。

通过表中详细的记录,也可以在遇到权限问题时,迅速找到解决方案。

权限限制表不仅是数据库管理的一项重要工作,也是保障数据库安全的重要手段。

我们应该重视对权限限制表的建立、更新和维护工作。

sqlserver服务账户和权限管理配置

sqlserver服务账户和权限管理配置

大多数服务及其属性可通过使用SQLServer配置管理器进行配置。

以下是在C盘安装Windows 的情况下最新的四个版本的路径。

安装的服务SQLServer根据您决定安装的组件,SQLServer安装程序将安装以下服务:•SQLServerDatabaseServices-用于SQLServer关系数据库引擎的服务。

可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlservr.exe。

•SQLServer代理-执行作业、监视SQLServer、激发警报以及允许自动执行某些管理任务。

SQLServer代理服务在SQLServerExpress的实例上存在,但处于禁用状态。

可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlagent.exe。

•AnalysisServices-为商业智能应用程序提供联机分析处理(OLAP)和数据挖掘功能。

可执行文件为<MSSQLPATH>\OLAP\Bin\msmdsrv.exe。

•ReportingServices-管理、执行、创建、计划和传递报表。

可执行文件为<MSSQLPATH>\ReportingServices\ReportServer\Bin\ReportingServicesService.exe。

•IntegrationServices-为IntegrationServices包的存储和执行提供管理支持。

可执行文件的路径是<MSSQLPATH>\130\DTS\Binn\MsDtsSrvr.exe•SQLServerBrowser-向客户端计算机提供SQLServer连接信息的名称解析服务。

可执行文件的路径为c:\ProgramFiles(x86)\MicrosoftSQLServer\90\Shared\sqlbrowser.exe •全文搜索-对结构化和半结构化数据的内容和属性快速创建全文索引,从而为SQLServer 提供文档筛选和断字功能。

sql server 用户访问权限设置

sql server 用户访问权限设置

sql server 用户访问权限设置:/*--示例说明示例在数据库pubs中创建一个拥有表jobs的所有权限、拥有表titles 的SELECT权限的角色r_test随后创建了一个登录l_test,然后在数据库pubs中为登录l_test创建了用户账户u_test同时将用户账户u_test添加到角色r_test中,使其通过权限继承获取了与角色r_test一样的权限最后使用DENY语句拒绝了用户账户u_test对表titles的SELECT权限。

经过这样的处理,使用l_test登录SQL Server实例后,它只具有表jobs 的所有权限。

--*/USE pubs--创建角色 r_testEXEC sp_addrole 'r_test'--授予 r_test 对 jobs 表的所有权限GRANT ALL ON jobs TO r_test--授予角色 r_test 对 titles 表的 SELECT 权限GRANT SELECT ON titles TO r_test--添加登录 l_test,设置密码为pwd,默认数据库为pubsEXEC sp_addlogin 'l_test','pwd','pubs'--为登录 l_test 在数据库 pubs 中添加安全账户 u_testEXEC sp_grantdbaccess 'l_test','u_test'--添加 u_test 为角色 r_test 的成员EXEC sp_addrolemember 'r_test','u_test'-------------------------------补充----------------上面的授权为对单表进行授权--2005可对SCHEMA级别进行授权--授予安全账户 u_test ,架构interface下的查询权限GRANT SELECT ON SCHEMA::interface TO u_test--拒绝安全账户 u_test ,架构dbo下的权限DENY VIEW DEFINITION ON SCHEMA::dbo TO risk---------------------------------------------------拒绝安全账户 u_test 对 titles 表的 SELECT 权限DENY SELECT ON titles TO u_test/*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles的select权限,所以l_test无titles表的select 权限--*/--从数据库 pubs 中删除安全账户EXEC sp_revokedbaccess 'u_test'--删除登录 l_testEXEC sp_droplogin 'l_test'--删除角色 r_testEXEC sp_droprole 'r_test'exec sp_dropsrvrolemember N'aa', sysadmingoexec sp_addsrvrolemember N'aa', securityadmingo--作好SQL的安全管理首先,做好用户安全:--简单的,只允许sql的用户访问sql(防止利用administrator组用户访问) 1.企业管理器--右键SQL实例--属性--安全性--身份验证--选择"sql server 和windows"--确定2.企业管理器--安全性--登陆--右键sa--设置密码--其他用户也设置密码3.删除用户:BUILTIN\Administrators<机器名>\Administrator --这个用户不一定有这样可以防止用windows身份登陆SQL4.设置进入企业管理器需要输入密码在企业管理器中--右键你的服务器实例(就是那个有绿色图标的)--编辑SQL Server注册属性--选择"使用 SQL Server 身份验证"--并勾选"总是提示输入登录名和密码"--确定--经过上面的设置,你的SQL Server基本上算是安全了.------------------------------------------------------------------------其次,改默认端口,隐藏服务器,减少被攻击的可能性SQL Server服务器--开始--程序--Microsoft SQL Server--服务器网络实用工具--启用的协议中"TCP/IP"--属性--默认端口,输入一个自已定义的端口,比如2433--勾选隐藏服务器------------------------------------------------------------------------------管好sql的用户,防止访问他不该访问的数据库(总控制,明细还可以控制他对于某个数据库的具体对象具有的权限)--切换到你新增的用户要控制的数据库use 你的库名go--新增用户exec sp_addlogin 'test' --添加登录exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限--这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表go--删除测试用户exec sp_revokedbaccess N'test' --移除对数据库的访问权限exec sp_droplogin N'test' --删除登录如果在企业管理器中创建的话,就用:企业管理器--安全性--右键登录--新建登录常规项--名称中输入用户名--身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户)--默认设置中,选择你新建的用户要访问的数据库名服务器角色项这个里面不要选择任何东西数据库访问项勾选你创建的用户需要访问的数据库名数据库角色中允许,勾选"public","db_ownew"确定,这样建好的用户与上面语句建立的用户一样---------------------------------------------------------------------------最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: --添加只允许访问指定表的用户:exec sp_addlogin '用户名','密码','默认数据库名'--添加到数据库exec sp_grantdbaccess '用户名'--分配整表权限GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名] --分配权限到具体的列GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]。

sqlserver2008r2 权限管理说明

sqlserver2008r2 权限管理说明

sqlserver2008r2 权限管理说明SQL Server 2008 R2的权限管理是通过授权用户或角色来实现的。

以下是一些关于权限管理的基本概念和操作:1. 登录(Login)和用户(User):-登录是指用户在SQL Server上的身份标识。

登录可以使用SQL Server身份验证或Windows身份验证。

-用户是数据库内的一个实体,与登录关联,用于连接到数据库并执行操作。

2. 角色(Role):-角色是一组权限的集合,可以将用户添加到角色中,从而为他们赋予一组共同的权限。

- SQL Server有预定义的固定角色(如db_datareader、db_datawriter)和用户定义的角色。

3. 权限(Permission):-权限定义了用户或角色对数据库对象(表、视图、存储过程等)执行的操作。

-常见的权限包括SELECT、INSERT、UPDATE、DELETE等。

4. 授予(GRANT):-通过GRANT语句可以向用户或角色授予特定的权限。

例如:`GRANT SELECT ON table_name TO user_name;`5. 拒绝(DENY):-使用DENY语句可以拒绝用户或角色对特定权限的访问。

例如:`DENY INSERT ON table_name TO user_name;`6. 回收(REVOKE):-使用REVOKE语句可以撤销已经赋予或拒绝的权限。

例如:`REVOKE SELECT ON table_name FROM user_name;`7. 层次化的权限控制:- SQL Server支持细粒度的权限控制,可以对数据库、表、列等级别进行权限的分配。

8. 视图和存储过程权限:-对于视图和存储过程,需要分别授予执行权限,使用GRANT语句。

9. 数据库角色和服务器角色:- SQL Server提供了数据库角色和服务器角色。

数据库角色仅对当前数据库有效,而服务器角色对整个SQL Server实例有效。

SQLServer 角色与权限管理

SQLServer 角色与权限管理

SQLServer 角色与权限管理安全性是所有数据库管理系统的一个重要特征。

理解安全性问题是理解数据库管理系统安全性机制的前提。

1.第一个安全性问题:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。

在Microsoft SQL Server 2008系统中,通过身份验证模式和主体解决这个问题。

1)身份验证模式Microsoft SQL Server 2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。

Windows身份验证模式:在该模式中,用户通过Windows用户账户连接SQL Server时,使用Windows操作系统中的账户名和密码。

混合模式:在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL Server身份验证。

主体是可以请求系统资源的个体或组合过程。

例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。

2)主体主体是可以请求系统资源的个体或组合过程。

例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。

Microsoft SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。

位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。

2.第二个安全性问题:当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源?在Microsoft SQL Server 2008系统中,通过安全对象和权限设置来解决这个问题。

3.第三个安全性问题:数据库中的对象由谁所有?如果是由用户所有,那么当用户被删除时,其所拥有的对象怎么办,难道数据库对象可以成为没有所有者的“孤儿”吗?在Microsoft SQL Server 2008系统中,这个问题是通过用户和架构分离来解决的。

SQLServer中服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解SQL Server中服务器角色和数据库角色权限详解在SQL Server中,角色是一种组织和管理权限的方式。

服务器角色和数据库角色是在SQL Server中定义的两种不同类型的角色。

本文将对SQL Server中的服务器角色和数据库角色的权限进行详细解析。

一、服务器角色权限在SQL Server中,服务器角色是用于管理整个SQL Server实例的一组权限。

它们决定了对于整个服务器来说,特定的用户或者登录名可以执行哪些操作。

下面是SQL Server中常见的服务器角色及其权限的详细解析:1. 系统管理员(sysadmin):该角色具有最高权限,可以执行服务器上的所有操作,包括创建、修改和删除数据库,管理登录名和其他角色等。

2. 安全管理员(securityadmin):该角色负责管理服务器安全相关的操作,例如创建和管理登录名、数据库用户、角色成员等。

3. 数据库管理员(dbcreator):该角色可以创建、修改和删除数据库,但不能执行服务器级别的操作。

4. 服务器操作员(serveroperator):该角色负责管理服务器操作,例如启动、停止和暂停服务器,以及监视服务器所有进程。

5. 备份操作员(backupoperator):该角色可以备份和还原数据库。

6. 数据库还原操作员(dbdatareader、dbdatawriter):dbdatareader 角色允许成员读取数据库中的数据,dbdatawriter角色允许成员向数据库中写入数据。

7. 登录名-服务器角色映射:SQL Server还支持将登录名直接映射到服务器角色,从而给予其对应的权限。

二、数据库角色权限数据库角色是在SQL Server数据库级别定义的一组权限。

它们决定了对于具体数据库来说,特定的用户或者登录名可以执行哪些操作。

下面是SQL Server中常见的数据库角色及其权限的详细解析:1. 数据库所有者(db_owner):该角色具有对于数据库中的所有对象具有完全控制权,可以执行所有操作。

sql server 数据库用户权限管理的设置

sql server 数据库用户权限管理的设置

题目:SQL Server数据库用户权限管理的设置一、概述SQL Server是一种常用的关系型数据库管理系统,它提供了丰富的用户权限管理功能,可以对不同的用户设置不同的权限,以保障数据库的安全性和稳定性。

本文将介绍SQL Server数据库用户权限管理的设置方法和注意事项。

二、SQL Server的用户权限管理概述1. 用户权限概念在SQL Server中,用户可以是数据库管理员、开发人员或普通用户,每个用户都有一个唯一的标识符,称为登入名。

用户权限是指用户对数据库对象(如表、视图、存储过程等)所拥有的操作权限,包括查询、修改、删除等。

2. 用户权限级别SQL Server中的用户权限通常分为以下几个级别:(1) 服务器级别权限:包括对服务器级对象(如登入名、数据库、备份等)的权限管理。

(2) 数据库级别权限:包括对数据库中对象(如表、视图、存储过程等)的权限管理。

(3) 对象级别权限:包括对特定数据库对象的权限管理,如表、视图、存储过程等。

(4) 列级别权限:包括对表的某些列的权限管理。

3. 权限管理原则(1) 最小权限原则:即给予用户的权限应该是最小权限,用户只能拥有其工作所需的权限,不应该给予过多权限。

(2) 适当权限分配:即根据用户的职责和工作需求,合理分配用户权限。

三、SQL Server用户权限管理设置方法1. 创建登入名在SQL Server Management Studio中,使用管理员登入创建新的登入名,设置登入名的登入方式,包括Windows身份验证和SQL Server身份验证,设置登入名的权限和默认数据库。

2. 创建数据库用户在特定数据库中,使用管理员登入创建新的数据库用户,并将其与已有的登入名关联。

设置数据库用户的默认模式、权限和角色。

3. 授权用户权限对数据库中的对象(如表、视图、存储过程等)进行权限管理,包括授予查询、修改、删除等操作的权限。

可以通过SQL语句或图形化界面进行权限控制。

sql server 数据库用户权限管理的设置 -回复

sql server 数据库用户权限管理的设置 -回复

sql server 数据库用户权限管理的设置-回复SQL Server数据库用户权限管理的设置在SQL Server数据库中,用户权限的设置是非常重要的,它决定了用户可以执行哪些操作和访问哪些数据。

合理的权限管理可以提高数据库的安全性和数据的完整性,防止未经授权的用户对数据库进行恶意操作。

本文将一步一步回答关于SQL Server数据库用户权限管理的设置的问题。

第一步:创建用户在SQL Server中,我们需要先创建一个用户,才能为其设置权限。

创建用户的方法有多种,最简单的方法是使用SQL Server Management Studio(SSMS)界面来完成。

在SSMS中,选择要创建用户的数据库,右键点击“Security”文件夹,选择“New”-“User”选项。

在弹出的对话框中,输入用户的名称、登录名和密码,并为其选择默认模式和登录类型。

点击“OK”按钮,即可成功创建用户。

第二步:分配基本权限在用户创建完成之后,我们需要分配一些基本权限给用户,以便其能够对数据库进行基本的操作。

这些权限通常包括SELECT、INSERT、UPDATE 和DELETE等操作。

为了分配基本权限,我们可以使用以下的T-SQL语句:GRANT SELECT, INSERT, UPDATE, DELETE ON 表名TO 用户名这个语句将会授予用户对指定表的SELECT、INSERT、UPDATE和DELETE 权限。

如果需要将权限授予多个表,可以使用逗号分隔表名。

同样地,如果需要为多个用户授予相同的权限,可以使用逗号分隔用户名。

第三步:分配特定权限除了基本权限,我们还可以为用户分配一些特定的权限,以满足其具体的业务需求。

例如,我们可以为用户分配EXECUTE权限,使其能够调用存储过程;我们可以为用户分配VIEW DEFINITION权限,使其能够查看对象的定义;我们还可以为用户分配CREATE TABLE权限,使其能够创建新的表。

sqlserver创建用户和授权操作

sqlserver创建用户和授权操作

1、登录需要被监控的数据库服务器。

通过管理员的身份登录到需要监控的sqlserver数据库,例如通过SA登录。

2、添加监控用的数据库用户并授予相关权限。

登录后打开“新建查询”窗口,将下面创建用户授权的sql脚本拷贝到窗口中执行。

exec sp_addlogin 'sqlmonitor','sqlmonitor2012','master'exec sp_addrole 'r_sqlmonitor'gogrant select on sysfiles to r_sqlmonitorgrant exec on dbo.sp_monitor to r_sqlmonitorgrant select on master.dbo.sysprocesses to r_sqlmonitorgrant select on sysdatabases to r_sqlmonitorgrant select on sysprocesses to r_sqlmonitorgrant select on master.dbo.syslockinfo to r_sqlmonitorgrant select on master.dbo.sysprocesses to r_sqlmonitorgrant select on master.dbo.spt_values to r_sqlmonitorgrant select on sysfiles to r_sqlmonitorgrant select on sysfilegroups to r_sqlmonitorgrant exec on sp_databases to r_sqlmonitorgrant exec on sp_spaceused to r_sqlmonitorgrant exec on sp_databases to r_sqlmonitorgrant select on dbo.sysfiles to r_sqlmonitorgrant select on dbo.sysfilegroups to r_sqlmonitorgrant select on master.dbo.sysprocesses to r_sqlmonitorgoexec sp_grantdbaccess 'sqlmonitor','sqlmonitor'exec sp_addrolemember 'r_sqlmonitor','sqlmonitor'goexec sp_addsrvrolemember @loginame = N'sqlmonitor', @rolename = N'sysadmin'go执行结果如下,下方消息窗口中会显示“命令已成功完成”:3、验证用户是否创建成功,并且授予了必要的权限。

sql server中关于数据库权限的分类

sql server中关于数据库权限的分类

SQL Server中关于数据库权限的分类数据库权限是指在SQL Server中对数据库对象进行操作的权限。

通过授予或撤销不同级别的数据库权限,可以实现对数据库的访问和管理的控制。

SQL Server中提供了多种类型的数据库权限,可以根据需求进行灵活配置。

本文将详细介绍SQL Server中关于数据库权限的分类。

1. 登录权限登录权限是指用户登录到SQL Server实例的权限。

登录权限包括以下几种:•sysadmin:具有系统管理员角色,拥有最高级别的访问和管理权力。

•serveradmin:具有服务器管理员角色,负责管理服务器级别配置和安全性。

•securityadmin:具有安全管理员角色,可以创建、更改和删除登录、用户和角色。

•processadmin:具有进程管理员角色,可以监视和终止服务器进程。

•setupadmin:具有安装程序管理员角色,可以管理服务器上安装的组件。

•bulkadmin:具有批量操作管理员角色,可以执行BULK INSERT操作。

2. 数据库级别权限数据库级别权限是指对特定数据库进行操作的权限。

常见的数据库级别权限包括:•db_owner:拥有该角色的用户对数据库具有完全控制权,包括创建、修改、删除对象以及对所有数据进行操作。

•db_datareader:允许用户读取数据库中的所有数据。

•db_datawriter:允许用户向数据库中写入数据。

•db_ddladmin:允许用户创建、修改和删除数据库对象,如表、视图、存储过程等。

•db_securityadmin:允许用户管理数据库角色、权限和安全性设置。

3. 对象级别权限对象级别权限是指对特定数据库对象进行操作的权限。

常见的对象级别权限包括:•SELECT:允许用户查询表中的数据。

•INSERT:允许用户向表中插入数据。

•UPDATE:允许用户更新表中的数据。

•DELETE:允许用户删除表中的数据。

•EXECUTE:允许用户执行存储过程或函数。

SQL Server 2005(账户)权限及安全设置

SQL Server 2005(账户)权限及安全设置

SQL2005账户权限及安全设置Alex 编写整理目录一、SQL账户和角色概念介绍 (2)二、SQL账号验证模式介绍及设置 (3)A、验证模式介绍 (3)B、验证模式设置 (4)三、SQL账户和角色具体设置 (5)A、创建服务器登录账户 (5)B、创建数据库用户 (9)C、数据库用户角色 (15)四、应用程序角色 (20)五、用户和角色的权限问题 (21)六、总结 (21)✧在进行SQL账户权限设置之前,需要先明确以下几个概念及彼此间的关系。

一、SQL账户和角色概念介绍在SQL Server中,账户有两种:一种是登录服务器的登录账户(login name),即服务器登录名;另外一种是使用数据库的用户账户(user name),即数据库用户。

●服务器登录名:指有权限登录到某服务器的用户,登录账户只是让用户登录到SQL Server中,登录名本身并不能让用户访问服务器中的数据库。

要访问特定的数据库,还必须具有用户名。

●服务器角色:指一组固定的服务器用户,默认有8组,对新建的服务器登录名必须指定某些服务器角色,相当于对服务器登录名进行第一步的权限分配。

注意:服务器角色不容许更改。

●数据库用户:指有权限能操作数据库的用户,用户名在特定的数据库内创建,并关联一个登录名(当一个用户创建时,必须关联一个登录名)。

●数据库角色:指一组固定的有某些权限的数据库角色,通过给数据库用户指派某些角色来限制数据库用户操作数据库的权利范围,这一步相当于对服务器登录名进行第二步权限分配。

(通过自定义数据库角色可以避免对多个数据库用户重复定义相同的权限。

)注意:数据库角色可以修改或新建。

●数据库用户账户权限规则,一般有9中不同的用户权限规则,通过给用指定不同的权限规则来限制用户对数据库的操作动作及范围,用户权利规则的分配是对服务器登录名进行权限分配的最终、最详细一步。

●数据库架构:指数据库对象的容器,包括数据库对象表、视图、存储过程、函数等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大多数服务及其属性可通过使用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 提供文档筛选和断字功能。

∙SQL 编写器 - 允许备份和还原应用程序在卷影复制服务(VSS) 框架中运行。

∙SQL Server 分布式重播控制器 - 跨多个分布式重播客户端计算机提供跟踪重播业务流程。

∙SQL Server Distributed Replay 客户端 - 与Distributed Replay 控制器一起来模拟针对SQL Server 数据库引擎实例的并发工作负荷的一台或多台DistributedReplay 客户端计算机。

∙SQL Server 受信任的启动板 - 用于托管Microsoft 提供的外部可执行文件的可信服务,例如作为R Services (In-database) 的一部分安装的R 运行时。

附属进程可由启动板进程启动,但将根据单个实例的配置进行资源调控。

启动板服务在其自己的用户帐户下运行,特定注册运行时的各个附属进程将继承启动板的用户帐户。

附属进程将在执行过程中按需创建和销毁。

服务属性和配置用于启动和运行SQL Server 的启动帐户可以是域用户帐户、本地用户帐户、托管服务帐户、虚拟帐户或内置系统帐户。

若要启动和运行SQL Server 中的每项服务,这些服务都必须有一个在安装过程中配置的启动帐户。

默认服务帐户下表列出了安装程序在安装所有组件时使用的默认服务帐户。

列出的默认帐户是建议使用的帐户,但特殊注明的除外。

独立服务器或域控制器*当需要SQL Server 计算机外部的资源时,Microsoft 建议使用配置了必需的最小特权的托管服务帐户(MSA)。

SQL Server 故障转移群集实例更改帐户属性托管服务帐户、组托管服务帐户和虚拟帐户托管服务帐户、组托管服务帐户和虚拟帐户设计用于向关键应用程序(例如SQL Server)提供其自己帐户的隔离,同时使管理员无需手动管理这些帐户的服务主体名称(SPN) 和凭据。

这就使得管理服务帐户用户、密码和SPN 的过程变得简单得多。

∙托管服务帐户托管服务帐户(MSA) 是一种由域控制器创建和管理的域帐户。

它分配给单个成员计算机以用于运行服务。

域控制器将自动管理密码。

您不能使用MSA 登录到计算机,但计算机可以使用MSA 来启动Windows 服务。

MSA 可以向Active Directory 注册服务主体名称(SPN)。

MSA 的名称中有一个$后缀,例如DOMAIN\ACCOUNTNAME$。

在指定MSA 时,请将密码留空。

因为将MSA 分配给单个计算机,它不能用于Windows 群集的不同节点。

∙组托管服务帐户组托管服务帐户是针对多个服务器的MSA。

Windows 为在一组服务器上运行的服务管理服务帐户。

Active Directory 自动更新组托管服务帐户密码,而不重启服务。

你可以配置SQL Server 服务以使用组托管服务帐户主体。

SQL Server 2016 对于独立实例、故障转移群集实例和可用性组,在Windows Server 2012 R2 和更高版本上支持组托管服务帐户。

若要使用SQL Server 2016 或更高版本的组托管服务帐户,操作系统必须是Windows Server 2012 R2 或更高版本。

装有Windows Server 2012 R2 的服务器需要应用KB 2998082,以便服务可以在密码更改后立即登录而不中断。

有关详细信息,请参阅组托管服务帐户∙虚拟帐户Windows Server 2008 R2 和Windows 7 中的虚拟帐户是“托管的本地帐户”,此类帐户提供以下功能以简化服务管理。

虚拟帐户是自动管理的,并且虚拟帐户可以访问域环境中的网络。

如果在Windows Server 2008 R2 或Windows 7 上安装SQL Server 时对服务帐户使用默认值,则将使用将实例名称用作服务名称的虚拟帐户,格式为NT SERVICE\<SERVICENAME>。

以虚拟帐户身份运行的服务通过使用计算机帐户的凭据(格式为<domain_name>\<computer_name>$)访问网络资源。

当指定一个虚拟帐户以启动SQL Server 时,应将密码留空。

如果虚拟帐户无法注册服务主体名称(SPN),则手动注册该SPN。

有关手动注册SPN 的详细信息,请参阅手动注册SPN。

下表列出了虚拟帐户名称的示例。

安全说明始终用尽可能低的用户权限运行SQL Server 服务。

就会使用MSA或virtual account。

当无法使用MSA 和虚拟帐户时,将使用特定的低特权用户帐户或域帐户,而不将共享帐户用于SQL Server 服务。

对不同的SQL Server 服务使用单独的帐户。

不要向SQL Server 服务帐户或服务组授予其他权限。

在支持服务SID 的情况下,将通过组成员身份或直接将权限授予服务SID。

防火墙端口在大多数情况下,首次安装时,可以通过与数据库引擎安装在相同计算机上的SQL Server Management Studio 等此类工具连接SQL Server。

SQL Server 安装程序不会在Windows 防火墙中打开端口。

在将数据库引擎配置为侦听TCP 端口,并且在Windows 防火墙中打开适当的端口进行连接之前,将无法从其他计算机建立连接。

配置Windows 服务帐户和权限SQL Server 2016其他版本适用于:SQL Server 2016SQL Server 中的每个服务表示一个进程或一组进程,用于通过Windows 管理SQL Server 操作的身份验证。

本主题介绍此SQL Server版本中服务的默认配置,以及可以在SQL Server 安装过程中以及安装之后设置的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 提供文档筛选和断字功能。

∙SQL 编写器 - 允许备份和还原应用程序在卷影复制服务(VSS) 框架中运行。

∙SQL Server 分布式重播控制器 - 跨多个分布式重播客户端计算机提供跟踪重播业务流程。

∙SQL Server Distributed Replay 客户端 - 与Distributed Replay 控制器一起来模拟针对SQL Server 数据库引擎实例的并发工作负荷的一台或多台DistributedReplay 客户端计算机。

相关文档
最新文档