第9章 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 Server 权限管理手册说明书
Top Level Server PermissionsDatabase Level PermissionsALTER ANY APPLICATION ROLE ALTER ANY ASSEMBLY ALTER ANY ASYMMETRIC KEY ALTER ANY CERTIFICATE ALTER ANY CONTRACTALTER ANY DATABASE AUDIT ALTER ANY DATABASE DDL TRIGGERALTER ANY DATABASE EVENT NOTIFICATION ALTER ANY DATASPACEALTER ANY FULLTEXT CATALOGALTER ANY MESSAGE TYPEALTER ANY REMOTE SERVICE BINDING ALTER ANY ROLE ALTER ANY ROUTE ALTER ANY SCHEMA ALTER ANY SERVICE ALTER ANY SYMMETRIC KEYALTER ANY USER –See Connect and Authentication –Database Permissions ChartCREATE AGGREGATE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE QUEUE CREATE RULE CREATE SYNONYM CREATE TABLE CREATE TYPE CREATE VIEWCREATE XML SCHEMA COLLECTIONTop Level Database PermissionsCONTROL ON DATABASE::<name>CREATE ASSEMBLY CREATE ASYMMETRIC KEY CREATE CERTIFICATE CREATE CONTRACTCREATE DATABASE DDL EVENT NOTIFICATIONCREATE FULLTEXT CATALOG CREATE MESSAGE TYPECREATE REMOTE SERVICE BINDING CREATE ROLE CREATE ROUTE CREATE SCHEMA CREATE SERVICE CREATE SYMMETRIC KEYAUTHENTICATE BACKUP DATABASE BACKUP LOG CHECKPOINTCONNECT REPLICATION DELETE EXECUTE INSERT REFERENCES SELECT UPDATEVIEW DEFINITION TAKE OWNERSHIP SHOWPLANSUBSCRIBE QUERY NOTIFICATIONS VIEW DATABASE STATECONTROL SERVERCONNECT DATABASESTATEMENTS:CREATE DATABASE AUDIT SPECIFICATION CREATE/ALTER/DROP database triggersPARTITION & PLAN GUIDE statementsSTATEMENTS:Combined with TRUSTWORTHY allows delegation of authentication BACKUP DATABASE BACKUP LOG CHECKPOINTCREATE ANY DATABASE ALTER ANY DATABASEALTER ANY SERVER AUDIT ALTER ANY EVENT NOTIFICATIONAUTHENTICATE SERVERVIEW ANY DEFINITIONALTER TRACEVIEW SERVER STATE STATEMENTS:Applies to subordinate objects in the database. See Database Permissions –Schema Objects chart.TAKE OWNERSHIP ON OBJECT|TYPE|XML SCHEMA COLLECTION::<name>RECEIVE ON OBJECT::<queue name>SELECT ON OBJECT::<queue name>VIEW CHANGE TRACKING ON OBJECT::<name> SELECT ON OBJECT::<table |view name>INSERT ON OBJECT::< table |view name> UPDATE ON OBJECT::< table |view name> DELETE ON OBJECT::< table |view name>EXECUTE ON OBJECT|TYPE|XML SCHEMA COLLECTION::<name> REFERENCES ON OBJECT|TYPE|XML SCHEMA COLLECTION:<name> VIEW DEFINITION ON OBJECT|TYPE|XML SCHEMA COLLECTION::<name>ALTER ON OBJECT|TYPE|XML SCHEMA COLLECTION::<name>TAKE OWNERSHIP ON SCHEMA::<name>VIEW CHANGE TRACKING ON SCHEMA::<name>SELECT ON SCHEMA::<name>INSERT ON SCHEMA::<name>UPDATE ON SCHEMA::<name>DELETE ON SCHEMA::<name>EXECUTE ON SCHEMA::<name>REFERENCES ON SCHEMA::<name>VIEW DEFINITION ON SCHEMA::<name>ALTER ON SCHEMA::<name>CREATE SEQUENCESELECT ON DATABASE::<name>INSERT ON DATABASE::<name>UPDATE ON DATABASE::<name>DELETE ON DATABASE::<name>EXECUTE ON DATABASE::<name>REFERENCES ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>TAKE OWNERSHIP ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY SCHEMACREATE SCHEMACREATE AGGREGATE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE QUEUE CREATE RULE CREATE SYNONYM CREATE TABLE CREATE TYPE CREATE VIEWCREATE XML SCHEMA COLLECTIONVIEW ANY DEFINITIONVIEW ANY DATABASEALTER ANY DATABASEServer PermissionsDatabase PermissionsSchema PermissionsObject Permissions Type PermissionsXML Schema Collection PermissionsDatabase Permissions –Schema ObjectsNotes:•To create a schema object (such as a table) you must have CREATE permission for that object type plus ALTER ON SCHEMA::<name> for the schema of the object. Might require REFERENCES ON OBJECT::<name> for any referenced CLR type or XML schema collection.•To alter an object (such as a table) you must have ALTER permission on the object (or schema ),or CONTROL permission on the object.CONTROL ON SERVERCONTROL ON DATABASE::<name>CONTROL ON SCHEMA ::<name>CONTROL ON OBJECT|TYPE|XML SCHEMA COLLECTION ::<name>OBJECT permissions apply to the following database objects:AGGREGATE DEFAULT FUNCTION PROCEDURE QUEUE RULE SYNONYM TABLE VIEW(All permissions do not apply to all objects. For example UPDATE only applies to tables and views.)•To drop an object (such as a table) you must have ALTER permission on the schema or CONTROL permission on the object.•To create an index requires ALTER OBJECT::<name> permission on the table or view.•To create or alter a trigger on a table or view requires ALTER OBJECT::<name> on the table or view.•To create statistics requires ALTER OBJECT::<name> on the table or view.CONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASECONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY FULLTEXT CATALOGCREATE FULLTEXT CATALOG Certificate PermissionsFull-text PermissionsAssembly PermissionsQuestions and comments to ************************Server Role PermissionsCONTROL SERVERVIEW ANY DEFINITIONALTER ANY SERVER ROLEVIEW DEFINITION ON SERVER ROLE::<name>TAKE OWNERSHIP ON SERVER ROLE::<name>ALTER ON SERVER ROLE::<name>CONTROL ON SERVER ROLE::<name>Most permission statements have the format :AUTHORIZATION PERMISSION ON SECURABLE::NAME TO PRINCIPAL•AUTHORIZATION must be GRANT, REVOKE or DENY.•PERMISSION is listed in the charts below.•ON SECURABLE::NAME is the server, server object, database, or database object and its name. Some permissions do not require ON SECURABLE::NAME.•PRINCIPAL is the login, user, or role which receives or loses the permission. Grant permissions to roles whenever possible.Sample grant statement: GRANT UPDATE ON OBJECT::Production.Parts TO PartsTeam Denying a permission at any level, overrides a related grant.To remove a previously granted permission, use REVOKE, not DENY.NOTES:•The CONTROL SERVER permission has all permissions on the instance of SQL Server.•The CONTROL DATABASE permission has all permissions on the database.•Permissions do not imply role memberships and role memberships do not grant permissions. (E.g. CONTROL SERVER does not imply membership in the sysadmin fixed server role. Membership in the db_owner role does not grant the CONTROL DATABASE permission.) However, it is sometimes possible to impersonate between roles and equivalent permissions.•Granting any permission on a securable allows VIEW DEFINITION on that securable. It is an implied permissions and it cannot be revoked, but it can be explicitly denied by using the DENY VIEW DEFINITION statement.Server Level PermissionsNotes:•Creating a full-text index requires ALTER permission on the table and REFERENCES permission on the full-text catalog.•Dropping a full-text index requires ALTER permission on the table.STATEMENTS:DROP DATABASEMarch 28, 2014How to Read this Chart•Most of the more granular permissions are included in more than one higher level scope permission. So permissions can be inherited from more than one type of higher scope.•Black, green, and blue arrows and boxes point to subordinate permissions that are included in the scope of higher a level permission.•Brown arrows and boxes indicate some of the statements that can use the permission.CREATE SERVER ROLEAvailability Group PermissionsCONTROL SERVERVIEW ANY DEFINITIONALTER ANY AVAILABILITY GROUPVIEW DEFINITION ON AVAILABILITY GROUP::<name>TAKE OWNERSHIP ON AVAILABILITY GROUP::<name>ALTER ON AVAILABILITY GROUP::<name>CONTROL ON AVAILABILITY GROUP::<name>CREATE AVAILABILITY GROUPADMINISTER BULK OPERATIONSALTER ANY AVAILABILITY GROUP –See Availability Group PermissionsCREATE AVAILABILTY GROUPALTER ANY CONNECTION ALTER ANY CREDENTIALALTER ANY DATABASE –See Database Permission ChartsCREATE ANY DATABASE –See Top Level Database PermissionsALTER ANY ENDPOINT –See Connect and AuthenticationCREATE ENDPOINT –See Connect and AuthenticationALTER ANY EVENT NOTIFICATIONCREATE DDL EVENT NOTIFICATION CREATE TRACE EVENT NOTIFICATIONALTER ANY EVENT SESSION ALTER ANY LINKED SERVERALTER ANY LOGIN –See Connect and Authentication ALTER ANY SERVER AUDITALTER ANY SERVER ROLE –See Server Role PermissionsCREATE SERVER ROLE –See Server Role PermissionsALTER RESOURCES (Not used. Use diskadmin fixed server role instead.)ALTER SERVER STATEVIEW SERVER STATEALTER SETTINGS ALTER TRACEAUTHENTICATE SERVERCONNECT SQL –See Connect and Authentication CONNECT ANY DATABASE IMPERSONATE ANY LOGIN SELECT ALL USER SECURABLES SHUTDOWN UNSAFE ASSEMBLYEXTERNAL ACCESS ASSEMBLYVIEW ANY DEFINITIONVIEW ANY DATABASE –See Database Permissions –Schema* NOTE:The SHUTDOWN statement requires the SQL Server SHUTDOWN permission. Starting, stopping, and pausing the Database Engine from SSCM, SSMS, or Windows requires Windows permissions, not SQL Server permissions.STATEMENTS:CREATE/ALTER/DROP server triggers OPENROWSET(BULK….KILL CREATE/ALTER/DROP CREDENTIAL DBCC FREE…CACHE and SQLPERF SELECT on server-level DMV’s sp_configure, RECONFIGURE sp_create_traceAllows server-level delegationCONTROL SERVERSTATEMENTS:CREATE/ALTER/DROP server triggers OPENROWSET(BULK …KILLServer scoped event notifications Server scoped DDL event notifications Event notifications on trace events Extended event sessions sp_addlinkedserverDBCC FREE…CACHE and SQLPERF SELECT on server-level DMV’s sp_configure, RECONFIGURE sp_trace_create Allows server-level delegation SHUTDOWN*CREATE/ALTER/DROP SERVER AUDIT and SERVER AUDIT SPECIFICATION CONTROL SERVERVIEW ANY DEFINITION ALTER ANY LOGINCONNECT SQLCONTROL ON LOGIN::<name>Connect and Authentication –Server PermissionsVIEW ANY DEFINITIONALTER ANY ENDPOINTCREATE ENDPOINTCONNECT ON ENDPOINT::<name>TAKE OWNERSHIP ON ENDPOINT::<name>VIEW DEFINITION ON ENDPOINT::<name>ALTER ON ENDPOINT::<name>CONTROL ON ENDPOINT::<name>Notes:•The CREATE LOGIN statement creates a login and grants CONNECT SQL to that login.•Enabling a login (ALTER LOGIN <name> ENABLE) is not the same as granting CONNECT SQL permission.•To map a login to a credential, see ALTER ANY CREDENTIAL.•When contained databases are enabled, users can access SQL Server without a login. See database user permissions.•To connect using a login you must have :o An enabled login o CONNECT SQLoCONNECT for the database (if specified)VIEW DEFINITION ON LOGIN::<name>IMPERSONATE ON LOGIN::<name>ALTER ON LOGIN::<name>STATEMENTS:ALTER LOGIN, sp_addlinkedsrvlogin DROP LOGIN CREATE LOGINSTATEMENTS:ALTER ENDPOINT DROP ENDPOINTCREATE ENDPOINTSTATEMENTS:ALTER SERVER ROLE <name> ADD MEMBER DROP SERVER ROLECREATE SERVER ROLESTATEMENTS:ALTER AVAILABILITY GROUP DROP AVAILABILITY GROUPCREATE AVAILABILITY GROUPCONTROL ON FULLTEXT CATALOG::<name>VIEW DEFINITION ON FULLTEXT CATALOG::<name>REFERENCES ON FULLTEXT CATALOG::<name>TAKE OWNERSHIP ON FULLTEXT CATALOG::<name>ALTER ON FULLTEXT CATALOG::<name>STATEMENTS:ALTER FULLTEXT CATALOG CREATE FULLTEXT CATALOGDatabase Role PermissionsCONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASEVIEW DEFINITION ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY ROLE CREATE ROLE CONTROL ON DATABASE::<name>VIEW DEFINITION ON ROLE::<name>TAKE OWNERSHIP ON ROLE::<name>ALTER ON ROLE::<name>CONTROL ON ROLE::<name>STATEMENTS:ALTER ROLE <name> ADD MEMBER DROP ROLECREATE ROLESymmetric Key PermissionsCONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASEVIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY SYMMETRIC KEYCREATE SYMMETRIC KEY CONTROL ON DATABASE::<name>VIEW DEFINITION ON SYMMETRIC KEY::<name>REFERENCES ON SYMMETRIC KEY::<name>TAKE OWNERSHIP ON SYMMETRIC KEY::<name>ALTER ON SYMMETRIC KEY::<name>CONTROL ON SYMMETRIC KEY::<name>STATEMENTS:ALTER SYMMETRIC KEY DROP SYMMETRIC KEY CREATE SYMMETRIC KEYNote: OPEN SYMMETRIC KEY requires VIEW DEFINITION permission on the key (implied by any permission on the key), and requires permission on the key encryption hierarchy.Asymmetric Key PermissionsCONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASEVIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY ASYMMETRIC KEYCREATE ASYMMETRIC KEYCONTROL ON DATABASE::<name>VIEW DEFINITION ON ASYMMETRIC KEY::<name>REFERENCES ON ASYMMETRIC KEY::<name>TAKE OWNERSHIP ON ASYMMETRIC KEY::<name>ALTER ON ASYMMETRIC KEY::<name>CONTROL ON ASYMMETRIC KEY::<name>STATEMENTS:ALTER ASYMMETRIC KEY DROP ASYMMETRIC KEYCREATE ASYMMETRIC KEYNote: ADD SIGNATURE requires CONTROL permission on the key, andrequires ALTER permission on the object.CONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASEVIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY CERTIFICATE CREATE CERTIFICATE CONTROL ON DATABASE::<name>VIEW DEFINITION ON CERTIFICATE::<name>REFERENCES ON CERTIFICATE::<name>TAKE OWNERSHIP ON CERTIFICATE::<name>ALTER ON CERTIFICATE::<name>CONTROL ON CERTIFICATE::<name>STATEMENTS:ALTER CERTIFICATE DROP CERTIFICATECREATE CERTIFICATENote: ADD SIGNATURE requiresCONTROL permission on the certificate, and requires ALTER permission on the object.CONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASEVIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY ASSEMBLY CREATE ASSEMBLYCONTROL ON DATABASE::<name>VIEW DEFINITION ON ASSEMBLY::<name>REFERENCES ON ASSEMBLY::<name>TAKE OWNERSHIP ON ASSEMBLY::<name>ALTER ON ASSEMBLY::<name>CONTROL ON ASSEMBLY::<name>STATEMENTS:ALTER ASSEMBLYDROP ASSEMBLYCREATE ASSEMBLYEvent Notification PermissionsCONTROL SERVERALTER ANY EVENT NOTIFICATIONCREATE DDL EVENT NOTIFICATIONCREATE TRACE EVENT NOTIFICATIONALTER ON DATABASE::<name>ALTER ANY DATABASE EVENT NOTIFICATION CREATE DATABASE DDL EVENT NOTIFICATIONCONTROL ON DATABASE::<name>Database scoped event notificationsDatabase scoped DDL event notificationsEvent notifications on trace eventsNote: EVENT NOTIFICATION permissions also affect service broker. See the service broker chart for more into.Connect and Authentication –Database PermissionsCONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASEVIEW DEFINITION ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY USER CONNECT ON DATABASE::<name>CONTROL ON DATABASE::<name>VIEW DEFINITION ON USER::<name>IMPERSONATE ON USER::<name>ALTER ON USER::<name>CONTROL ON USER::<name>STATEMENTS:ALTER USER DROP USER CREATE USERNOTES:•When contained databases are enabled, creating a database user that authenticates at the database, grants CONNECT DATABASE to that user,and it can access SQL Server without a login.•Granting ALTER ANY USER allows a principal to create a user based on a login, but does not grant the server level permission to view information about logins.Replication PermissionsCONTROL SERVERCONTROL ON DATABASE::<name>CONNECT REPLICATION ON DATABASE::<name>CONNECT ON DATABASE::<name>Application Role PermissionsCONTROL SERVERVIEW ANY DEFINITION ALTER ANY DATABASE CONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY APPLICATION ROLECONTROL ON APPLICATION ROLE::<name>VIEW DEFINITION ON APPLICATION ROLE::<name>ALTER ON APPLICATION ROLE::<name>STATEMENTS:ALTER APPLICATION ROLE DROP APPLICATION ROLE CREATE APPLICATION ROLESTATEMENTS:DROP FULLTEXT CATALOG DROP FULLTEXT STOPLISTDROP FULLTEXT SEARCH PROPERTYLISTCONTROL ON FULLTEXT STOPLIST::<name>VIEW DEFINITION ON FULLTEXT STOPLIST::<name>REFERENCES ON FULLTEXT STOPLIST::<name>TAKE OWNERSHIP ON FULLTEXT STOPLIST::<name>ALTER ON FULLTEXT STOPLIST::<name>STATEMENTS:ALTER FULLTEXT STOPLIST CREATE FULLTEXT STOPLISTCONTROL ON SEARCH PROPERTY LIST::<name>VIEW DEFINITION ON SEARCH PROPERTY LIST::<name>REFERENCES ON SEARCH PROPERTY LIST::<name>TAKE OWNERSHIP ON SEARCH PROPERTY LIST::<name>ALTER ON SEARCH PROPERTY LIST::<name>STATEMENTS:ALTER SEARCH PROPERTY LIST CREATE SEARCH PROPERTY LISTService Broker PermissionsNotes:•The user executing the CREATE CONTRACT statement must have REFERENCES permission on all message typesspecified.•The user executing the CREATE SERVICE statement must have REFERENCES permission on the queue and allcontracts specified.•To execute the CREATE or ALTER REMOTE SERVICE BINDING the user must have impersonate permission forthe principal specified in the statement.•When the CREATE or ALTER MESSAGE TYPE statement specifies a schema collection, the user executing thestatement must have REFERENCES permission on the schema collection specified.•See the ALTER ANY EVENT NOTIFICATION chart for more permissions related to Service Broker.•See the SCHEMA OBJECTS chart for QUEUE permissions.•The ALTER CONTRACT permission exists but at this time there is no ALTER CONTRACT statement.CONTROL ON REMOTE SERVICE BINDING::<name>VIEW DEFINITION ON REMOTE SERVICE BINDING::<name>TAKE OWNERSHIP ON REMOTE SERVICE BINDING::<name>ALTER ON REMOTE SERVICE BINDING::<name>STATEMENTS:ALTER REMOTE SERVICE BINDINGDROP REMOTE SERVICE BINDINGCREATE REMOTE SERVICE BINDINGCONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASECONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY REMOTE SERVICE BINDINGCREATE REMOTE SERVICE BINDINGCONTROL ON CONTRACT::<name>VIEW DEFINITION ON CONTRACT::<name>REFERENCES ON CONTRACT::<name>TAKE OWNERSHIP ON CONTRACT::<name>ALTER ON CONTRACT::<name>STATEMENTS:DROP CONTRACTCREATE CONTRACTCONTROL SERVER VIEW ANY DEFINITIONALTER ANY DATABASECONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY CONTRACTCREATE CONTRACTCONTROL ON SERVICE::<name>VIEW DEFINITION ON SERVICE::<name>SEND ON SERVICE::<name>TAKE OWNERSHIP ON SERVICE::<name>ALTER ON SERVICE::<name>STATEMENTS:ALTER SERVICE DROP SERVICECREATE SERVICECONTROL SERVERVIEW ANY DEFINITION ALTER ANY DATABASE CONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY SERVICECREATE SERVICESTATEMENTS:ALTER ROUTE DROP ROUTE CREATE ROUTECONTROL SERVERVIEW ANY DEFINITIONALTER ANY DATABASECONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY ROUTECREATE ROUTE CONTROL ON ROUTE::<name>VIEW DEFINITION ON ROUTE::<name>TAKE OWNERSHIP ON ROUTE::<name>ALTER ON ROUTE::<name>STATEMENTS:ALTER MESSAGE TYPEDROP MESSAGE TYPE CREATE MESSAGE TYPECONTROL SERVER VIEW ANY DEFINITIONALTER ANY DATABASECONTROL ON DATABASE::<name>VIEW DEFINITION ON DATABASE::<name>REFERENCES ON DATABASE::<name>ALTER ON DATABASE::<name>ALTER ANY MESSAGE TYPECREATE MESSAGE TYPECREATE QUEUECONTROL ON MESSAGE TYPE::<name>VIEW DEFINITION ON MESSAGE TYPE::<name>REFERENCES ON MESSAGE TYPE::<name>TAKE OWNERSHIP ON MESSAGE TYPE::<name>ALTER ON MESSAGE TYPE::<name>Permission SyntaxCREATE DATABASE **ALTER ON DATABASE::<name>STATEMENTS: CREATE DATABASE, RESTORE DATABASE** NOTE:CREATE DATABASE is a database level permissionthat can only be granted in the master database.STATEMENTS:EXECUTE ASSTATEMENTS:EXECUTE ASSTATEMENTS:ALTER AUTHORIZATIONNotes:•ALTER AUTHORIZATION for any object might also require IMPERSONATE or membership in a role or ALTER permission on a role.•ALTER AUTHORIZATION exists at many levels in the permission model but is never inherited from ALTER AUTHORIZATION at a higher level.Note: CREATE and ALTER ASSEMBLY statements sometimes require server level EXTERNAL ACCESS ASSEMBLY and UNSAFE ASSEMBLY permissions, and can require membership in the sysadmin fixed server role.NOTES:Only members of the db_owner fixed database role can add or remove members from fixed database roles.NOTES:To add a member to a fixed server role, you must be a member of that fixed server role, or be a member of the sysadmin fixed server role.© 2014 Microsoft Corporation. All rights reserved.Database Engine PermissionsMicrosoft SQL Server 2014。
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的权限,使其他用户可以成为数据库所有者。
SQLServer关于列的权限控制
SQLServer关于列的权限控制在SQL SERVER中列权限(Column Permissions)其实真没有什么好说的,但是好多⼈对这个都不甚了解,已经被⼈问了⼏次了,所以还是在这⾥介绍⼀下,很多⼈都会问,我能否单独对表的某列授权给某个⽤户?答案是可以,我们可以对表中的列授予SELECT、UPDATE权限,我们结合下⾯的简单案例来阐述⼀下可能效果更好。
案例1:在AdventureWorks2014中,登录名UserA 只能有权限查询[Person].[Person]⾥⾯的BusinessEntityID, NationalIDNumber, LoginID三个字段权限,不能查询其它字段GO给⽤户授予相关列的查询权限(SELECT)GRANT SELECT(BusinessEntityID, NationalIDNumber, LoginID) ON [HumanResources].[Employee] TO [UserA]此时你可以⽤下⾯SQL查看授予UserA的权限:SELECT dp.grantee_principal_id , AS UName ,dp.permission_name , ,OBJECT_NAME(O.object_id) AS TabNameFROM sys.database_permissions dpINNER JOIN sys.objects O ON dp.major_id = O.object_idINNER JOIN sys.columns C ON C.object_id = O.object_idAND C.column_id = dp.minor_idINNER JOIN sys.database_principals P ON P.principal_id = dp.grantee_principal_id;以⽤户UserA登录,如下所⽰,如果查询语句使⽤BusinessEntityID, NationalIDNumber, LoginID字段之外的其它字段,就会出现类似下⾯错误,当然也不能使⽤SELECT *之类的查询语句。
数据库基础与项目实训教程——基于SQL Server第9章
2
数据库基础与项目实训教程 -基于SQL Server
9.1 SQL Server的安全机制
0011 0010 1010 1101 0001 0100 1011
2.SQL Server身份验证模式 (1)Windows 验证模式
– 如果SQL Server系统服务器端设置为Windows 身份验证模式,则客户 端登录时只能选择Windows身份验证,实际上用户在登录时无须输入具 体的登录名,即使输入具体的登录名,SQL Server也将忽略该登录名 。
4
2
数据库基础与项目实训教程 -基于SQL Server
9.1 SQL Server的安全机制
0011 0010 1010 1101 0001 0100 1011
9.1.2 身份验证模式的设置
–4)在“SQL Server属性(配置)”对话框的“安 全性”栏中,选择身份验证模式和审核级别。 –5)在“SQL Server属性(配置)”对话框中的“ 启动服务帐户”栏中设置启动时的默认登录帐号。 –6)单击“确定”按钮,停止并重启SQL Server。
数据 模型
关系 模型 SQL S e rv e r 关系 规范化 概述
数据库管理
数据查询 安全 T -S Q L 管理
数据表管理
索引和视 图管理
1
存储过程 和触发器
知识导航
4
发实例
系统开
2
数据库基础与项目实训教程 -基于SQL Server
学习目标
0011 0010 1010 1101 0001 0100 1011
9.2 数据库安全管理
0011 0010 1010 1101 0001 0100 1011
sql server实验指导第四版
sql server实验指导第四版SQL Server实验指导第四版第一章:SQL Server的介绍SQL Server是由Microsoft开发的一种关系型数据库管理系统(RDBMS)。
它具有强大的数据管理和分析功能,被广泛应用于企业级应用程序和数据仓库中。
本章将介绍SQL Server的概述、特点以及应用领域,帮助读者了解SQL Server的基本知识。
第二章:SQL Server的安装和配置在使用SQL Server之前,需要先进行安装和配置。
本章将详细介绍SQL Server的安装步骤和配置选项,包括选择适当的版本、设置数据库引擎和其他组件,以及配置网络和安全设置等。
读者将学会如何正确地安装和配置SQL Server。
第三章:SQL Server的基本操作本章将介绍SQL Server的基本操作,包括创建数据库、创建表、插入数据、更新数据和删除数据等。
通过实际操作,读者将学会如何使用SQL Server进行数据库的基本管理和数据操作。
第四章:SQL Server的高级操作本章将深入介绍SQL Server的高级操作,包括查询数据、排序数据、过滤数据、连接表和子查询等。
读者将学会如何使用SQL语句来实现复杂的数据查询和分析。
第五章:SQL Server的性能优化本章将介绍SQL Server的性能优化技术,包括索引优化、查询优化、存储过程优化和服务器配置优化等。
通过掌握这些技术,读者将能够提高SQL Server的性能和响应速度。
第六章:SQL Server的备份和恢复在数据库管理中,备份和恢复是非常重要的任务。
本章将详细介绍SQL Server的备份和恢复技术,包括完整备份、差异备份、事务日志备份和数据库恢复等。
读者将学会如何使用SQL Server来保护数据库的安全和可靠性。
第七章:SQL Server的高可用性在企业级应用中,数据库的高可用性是至关重要的。
本章将介绍SQL Server的高可用性技术,包括故障转移集群、数据库镜像、数据库复制和Always On可用性组等。
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等。
sqlserver中文参考手册
SQL Server中文参考手册一、介绍SQL Server是微软公司开发的一款关系型数据库管理系统,常用于企业级应用程序的开发和数据管理。
它具有强大的数据处理和管理能力,能够支撑大型的数据量和复杂的业务逻辑。
本文将针对SQL Server的中文参考手册进行详细介绍,帮助读者理解和使用SQL Server的各项功能。
二、安装与配置1. 下载与安装在微软全球信息站上可以找到SQL Server的安装程序,根据自己的需求选择相应的版本进行下载。
安装过程中,可以根据向导逐步进行配置,包括选择安装目录、设置数据库引擎配置、配置实例等。
2. 服务设置安装完成后,需要对SQL Server的各项服务进行设置,包括SQL Server数据库引擎服务、SQL Server代理服务等。
可以通过“SQL Server配置管理器”进行相关设置。
三、数据库设计与管理1. 数据库设计SQL Server支持基于数据库模型进行设计,包括创建表、定义字段、设置键与索引等。
可以使用SQL Server Management Studio (SSMS)进行数据库设计。
2. 数据库管理SQL Server提供了丰富的数据库管理功能,包括备份与还原、数据库迁移、容灾与恢复等。
通过SSMS可以轻松进行数据库的管理操作。
四、数据查询与处理1. SQL语法SQL Server支持标准的SQL语法,包括SELECT、INSERT、UPDATE、DELETE等操作。
还支持存储过程、触发器、函数等高级特性。
2. 查询优化SQL Server提供了查询优化器,可以对查询语句进行优化,提高查询效率。
通过执行计划或查询分析工具,可以对查询进行性能分析。
五、安全与权限管理1. 登入与用户SQL Server允许创建多个登入账号,并且可以为不同的数据库设置不同的用户权限。
通过SQL Server安全性功能可以进行相关设置。
2. 数据加密SQL Server支持数据加密功能,可以对敏感数据进行加密保护。
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是由微软公司开发的关系数据库管理系统,广泛应用于企业级数据管理和处理。
本手册旨在为用户提供SQL Server的操作指南,帮助用户熟练掌握SQL Server的基本操作和高级功能。
二、安装和配置1. 下载SQL Server安装包用户可以从微软冠方全球信息站下载SQL Server的安装程序,选择适用于自己系统的版本进行下载。
2. 安装SQL Server双击安装程序,按照指引进行安装。
在安装过程中,用户需要选择安装的组件、配置数据库实例、设置管理员账号等信息。
3. 配置SQL Server安装完成后,用户需要进行SQL Server的配置工作,包括设置数据库连接、调整性能参数、配置备份策略等。
三、基本操作1. 连接数据库用户可以使用SQL Server Management Studio(SSMS)等工具连接到数据库实例,输入正确的服务器名、用户名和密码进行连接。
2. 创建数据库通过SSMS或者T-SQL语句,用户可以创建新的数据库,指定数据库的名称、文件路径、文件大小等参数。
3. 创建表在数据库中创建表格,定义表格的字段、数据类型、约束等信息,为数据存储做准备。
4. 插入数据使用INSERT语句向数据库表格中插入数据,确保数据的完整性和正确性。
5. 查询数据使用SELECT语句查询数据库表格中的数据,根据条件筛选出符合要求的数据。
6. 更新和删除数据使用UPDATE和DELETE语句更新和删除数据库表格中的数据,确保数据的实时性和准确性。
四、高级功能1. 存储过程用户可以使用T-SQL语句创建存储过程,实现对数据库的一系列操作逻辑的封装和复用。
2. 触发器使用触发器可以在数据库表格发生特定事件时自动执行特定的操作,实现数据的自动化处理和监控。
3. 索引优化通过合理地创建各种类型的数据库索引,可以提高数据库的查询性能和数据检索速度。
4. 备份恢复制定定期备份数据库的策略,并了解如何灵活、高效地进行数据库的恢复操作。
sql server实验指导第四版
SQL Server实验指导第四版第一部分:前言1.1 介绍SQL Server是微软公司推出的关系数据库管理系统,广泛应用于企业和个人的数据库管理和数据处理中。
为了帮助大家更好地学习和使用SQL Server,特编写了这一份SQL Server实验指导第四版,旨在帮助读者系统地学习SQL Server的相关知识和技能,掌握基本的数据库设计与管理、SQL语言的基本应用和高级应用等方面的知识。
本实验指导第四版内容全面,深入浅出,适合SQL Server初学者和进阶者阅读参考。
1.2 使用说明本实验指导第四版共分为十二个章节,每个章节都包含理论知识、实验操作和习题,帮助读者从理论到实践更好地掌握SQL Server的知识和技能。
读者可根据自身需求和水平选择性地阅读和实践,也可按照章节顺序逐步学习。
在学习过程中,建议读者结合实际项目或案例,加深对SQL Server的理解和运用。
第二部分:实验指导2.1 章节一:SQL Server简介- SQL Server的发展历史- SQL Server的基本特点和功能- SQL Server的应用领域和前景2.2 章节二:SQL Server安装与配置- SQL Server的版本和安装要求- SQL Server的安装步骤和注意事项- SQL Server的配置和参数设置2.3 章节三:SQL Server数据库设计与管理- 数据库的基本概念和原理- 数据库的设计规范和范式- 数据库的管理和维护2.4 章节四:SQL Server的基本查询与操作- SQL语言的基本语法和规范- 数据表的创建和操作- 数据查询和结果集处理2.5 章节五:SQL Server的高级应用- 多表查询和连接操作- 子查询和视图的应用- 存储过程和触发器的编写与使用2.6 章节六:SQL Server的性能优化与调优- SQL查询的优化方法和技巧- 索引的设计与优化- SQL Server查询执行计划的分析与调整2.7 章节七:SQL Server的安全性与权限管理- 用户账户和权限的管理- 数据库的安全策略和审计- SQL注入和安全防护技术2.8 章节八:SQL Server的备份与恢复- 数据库备份与还原的方法- 数据灾难恢复与紧急处理- SQL Server的相关工具和技术2.9 章节九:SQL Server的企业管理- SQL Server的企业级应用和部署- SQL Server的集裙和高可用性- SQL Server的监控和性能分析2.10 章节十:SQL Server的扩展与应用- SQL Server的与其他系统集成- SQL Server的与BI工具的集成- SQL Server的未来趋势与发展方向第三部分:总结3.1 总结概述本实验指导第四版囊括了SQL Server的全面知识和技能,对SQL Server的初学者和进阶者都具有很好的指导意义和实用价值。
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的用户权限管理概述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权限管理
安徽新华电脑专修学院
Server数据库的安全性层次 任务一 SQL Server数据库的安全性层次
1、客户机操作系统的安全性。 2、SQL Server服务器登录的安全性。 3、数据库的使用安全性。 4、数据库对象的使用安全性。
安徽新华电脑专修学院
Server数据库的安全性层次 任务一 SQL Server数据库的安全性层次
安徽新华电脑专修学院
1、固定服务器角色 固定服务器角色
1、使用企业管理器管理服务器角色: (1)展开指定的服务器节点。 (2)展开服务器节点下的安全性子节点。 (3)选择[服务器角色]节点,则右边窗口将列出所有 的固定服务器角色。 (4)选中指定的固定服务器角色,右击[属性],单击 [添加]按钮。
利用T SQL管理登录帐号 任务四 利用T-SQL管理登录帐号
4、删除帐户 删除登录帐户dbloginuser1。 exec sp_droplogin dbloginuser1
安徽新华电脑专修学院
任务五 SQL Server 数据库安全性
在数据库中,一个用户或工作组取得合法的登录帐号, 只表明该帐号通过了Windows NT认证或者SQL Server认证, 但不能表明其可以对数据库对象进行操作,只有当它同时 拥有了用户帐号后,才能够访问数据库。 数据库的访问权限是通过映射数据库的用户与登录帐 号之间的关系实现的。 每个登录账号在一个数据库中只能有一个用户账号,但 是每个登录账号可以在不同的数据库中各有一个用户账号。 如果在新建登录账号的过程中,指定对某个数据库具有存 取权限,则在该数据库中将自动创建一个与该登录账号同 名的用户账号。
Windows SQL Server database
Db user SQL Logins Windows 账号
SQL Server系统安全管理
SQL Server身份验 证:使用SQL
Server的账户进行 身份验证
证书身份验证:使 用数字证书进行身
份验证
安全策略:设置身 份验证策略,确保
系统安全
混合身份验证:同 时使用Windows和 SQL Server身份验
证
混合身份验证
01 概念:结合Windows身
份验证和SQL Server身 份验证
2 数据库用户、角 色、应用程序等
权限回收的方法: 使用DROP USER、
3 DROP ROLE、 DROP APPLICATION等 命令
权限回收的后果:
4 可能导致应用程序 无法正常工作,需 要重新分配权限
安全配置选项
01
身份验证:设置用户名和密码,确 保只有授权用户才能访问数据库
02
权限管理:为不同用户分配不同的 权限,限制其对数据库的操作
权限分配
角色分配:根 据不同用户角 色分配相应的 权限
01
权限控制:通 过设置权限控 制,确保数据 安全
03
02
权限级别:设置 不同级别的权限, 如管理员、普通 用户等
04
权限审计:定期 审计权限分配情 况,确保权限分 配合理有效
权限回收
权限回收的原因:
1 防止权限滥用, 保障系统安全
权限回收的对象:
权限管理:为不同 用户分配不同权限, 最小化权限原则
定期更新:及时更 新***ver补丁和 软件,防止安全漏 洞
安全审计:启用 SQL Server审计 功能,记录所有数 据库操作
安全配置:设置防 火墙,限制访问来 源,禁用不必要的 服务和功能
安全审计
01
审计对象: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创建用户和授权操作
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中关于数据库权限的分类。
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:允许用户执行存储过程或函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.4 权限管理
9.4.1 权限管理简介 1.对象权限
对象
操作
表
SELECT INSERT UPDATE DELETE REFERENCE
视图
SELECT UPDATE INSERT DELETE
存储过程
EXECUTE
列
SELECT UPDATE
2.语句权限
语句权限主要指用户是否具有权限来执行某一语句,这 些语句通常是一些具有管理性的操作,如创建数据库、表、 存储过程等。
9.3.2 管理数据库用户 1.利用企业管理器管理数据库用户
2.利用系统过程管理数据库用户 (1) 创建新数据库用户 其语法格式为:
sp_grantdbaccess ‘登录账号名称’, ‘用户账号 名称’ (2) 删除数据库用户 语法格式为: sp_revokedbaccess ‘用户账号名称’ (3) 查看数据库用户信息 语法格式为: sp_helpuser '用户账号名称'
第9章 SQL Server的权限管理与代理服的安全机制 ; 创建和管理登录账户; 数据库用户的管理; 权限的概念及管理; 角色的管理; SQL Server的代理服务与作业;
9.1 SQL Server 2000的安全机制
SQL Server 2000 的安全性管理是建立在认证 (authentication)和访问许可(permission)两者机制上 的。 在SQL Server 的安全模型中包括以下几部分:
其语法格式为:
sp_droplogin ‘登录名称’
3. sp_grantlogin
设定一WINDOWS NT 用户或用户组为SQL Server 登录者, 其语法格式为: sp_grantlogin '登录名称'
4. sp_denylogin 拒绝某一NT 用户或用户组连接到SQL Server ,其命令格式 为:
•SQL Server 登录 •数据库用户 •权限 •角色
9.1.1 SQL Server 登录认证简介
1.WINDOWS 认证模式
NT 作为网络操作系统本身就具备管理登录验证用户合 法性的能力,所以WINDOWS 认证模式正是利用这一用 户安全性和账号管理的机制允许SQLServer 也可以使用 NT 的用户名和口令。在该模式下,用户只要通过 WINDOWS 的认证就可连接到SQL Server ,而SQL Server 本身也没有必要管理一套登录数据。
DENY 用来禁止用户对某一对象或语句的权限,明确禁 止其对某一用户对象执行某些操作(如UPDATE、SELECT、 DELETE、EXECUTE)或运行某些语句(如CREATE TABLE、 CREATE DATABASE)。
管理语句权限命令的语法规则如下: GRANT 语句名称 [,…n] TO 用户账户名称 [,…n] DENY 语句名称 [,…n] TO 用户账户名称 [,…n] REVOKE 语句名称 [,…n] TO 用户账户名称 [,…n]
sp_helplogins '登录名称'
9.3 数据库的用户
9.3.1 数据库用户简介 数据库用户用来指出哪一个人可以访问哪一个数据库。
在一个数据库中用户ID惟一标识一个用户,用户对数据 的访问权限以及对数据库对象的所有关系都是通过用户 账号来控制的。用户账号总是基于数据库的,即两个不 同数据库中可以有两个相同的用户账号。
l GRANT 用来把权限授予某一用户,以允许该用户执行 针对该对象的操作(如UPDATE、SELECT、DELETE、EXECUTE) 或允许其运行某些语句(如CREATE TABLE、CRETAE DATABASE);
l REVOKE 取消用户对某一对象或语句的权限,这些权限 是经过GRANT 语句授予的不允许该用户执行针对数据库对象 的某些操作(如UPDATE、SELECT、DELETE、EXECUTE)或不 允许其运行某些语句(如CREATE TABLE、CREATE DATABASE
sp_grantlogin ‘登录名称’
5. sp_revokelogin 用来删除NT 用户或用户组在SQL Server 上的登录信息, 其语法格式为:
sp_revokelogin ‘登录名称’
6. sp_helplogins sp_helplogins 用来显示SQL Server 所有登录者的信息,包 括每一个数据库里与该登录者相对应的用户名称。其语 法格式为:
管理对象权限的语法命令如下 : GRANT 权限名称 [,…n] ON 表名|视图名|存储过程名 TO 用户账户名称 DENY 权限名称 [,…n] ON 表名|视图名|存储过程名 TO 用户账户名称 REVOKE 权限名称 [,…n] ON 表名|视图名|存储过程 名 FROM 用户账户名称
9.4.2 利用企业管理器管理权限 1.面向单一用户的权限设置
9.2.2 使用T-SQL管理SQL Server登录 1. sp_addlogin 创建新的使用SQL Server 认证模式的登录账号,其语法
格式为:
sp_addlogin ‘登录名称’,‘登录密码’,‘默认数 据库’,‘默认语言’
2.sp_droplogin SQL Server 中删除该登录账号,禁止其访问SQL Server
2. 混合认证模式
在混合认证模式下WINDOWS 认证和SQL Server 认证 这两种认证模式都是可用的,NT 的用户既可以使用NT 认证,也可以使用SQL Server 认证
9.1.2 SQL Server认证模式设置
9.2 管理SQL Server 登录
9.2.1 用企业管理器管理SQL Server 登录
2.面向数据库对象的权限设置
9.5角色管理
9.5.1 角色管理简介 在SQL Server 中主要有两种角色类型:服务器角色
与数据库角色。 1.服务器角色
服务器角色是指根据SQL Server 的管理任务,以及 这些任务相对的重要性等级,来把具有SQL Server 管理 职能的用户划分成不同的用户组,每一组所具有管理SQL Server的权限已被预定义服务器角色,适用在服务器范 围内并且其权限不能被修改。