SQL Server第7章 SQL Server安全性管理

合集下载

数据库安全性

数据库安全性

上一页
下一页
返回本章首页
第7章 数据库安全性
7.2.2用T-SQL语句创建、查看、删除SQL Server登录帐户
1. 将已经存在的NT登录(NT组或用户)增加到SQL Server系统 登录中 使用系统存储过程sp_grantlogin、sp_denylogin、 sp_revokelogin可以分别允许、阻止、删除Windows NT组或用户到 SQL Server的连接。 sp_grantlogin的语法形式如下:
Windows身份验证模式使用Windows操作系统本身提供 的安全机制验证用户的身份。只要用户能够通过Windows NT或Windows 2000的用户帐户验证,就可连接到SQL Server。
本节首页
上一页 下一页 返回本章首页
第7章erver的影响
在 Windows NT/2000的注册表内,保存了SQL Server验证模式的相关信息及启动SQL Server的必须 信息. 在注册表中,我的电脑 \KHEY_LOCAL_MACHINE\Software\Microsoft\MSS QLServer\MSSQLServer中的LoginMode的值决定采用 哪种验证模式.每次启动SQL Server时,都将检索该键 的值,以决定使用哪种验证模式.
本节首页
上一页
下一页
返回本章首页
第7章 数据库安全性
SQL Server的登录访问确认
验证 SQL Server 验证信任连接 SQL Server
Windows 2000 组或用户

Windows 2000
SQL Server 验证账户名和密码 SQL Server 登录账户
上一页
下一页

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。

第7章 数据库的安全与保护

第7章 数据库的安全与保护

7.1.3 SQL Server的安全性控制
7.1.3.2设置身份验证模式 具体的过程如下:
在SQL Server Management Studio的【对象资源管 理器】中,右键单击服务器,在弹出的快捷菜单中 单击【属性】。 在“安全性“页上的“服务器身份验证”下,选择 新的服务器身份验证模式,再单击【确定】。 重新启动 SQL Server,使设置生效。
7.2.4 SQL Server的完整性控制
SQL Server 2008中数据完整性可分为四 种类型:
实体完整性 域完整性 引用完整性 用户定义完整性
1.实体完整性 实体完整性相关的约束如下:
PRIMARY KEY约束 UNIQUE 约束 IDENTITY属性
2.域完整性
域完整性是指给定列的输入正确性与有效性。SQL Server 2008中强制域有效性的方法有:
7.4.2 数据库恢复的基本原理 及其实现技术
3.登记日志文件(Logging) (1)以记录为单位的日志文件 (2)以数据块为单位的日志文件
7.4.2 数据库恢复的基本原理 及其实现技术
4.日志文件的作用
(1)事务故障恢复和系统故障恢复必须用日志文 件。 (2)在动态转储方式中必须建立日志文件,后备 副本和日志文件综合起来才能有效地恢复数据库。 (3)在静态转储方式中,也可以建立日志文件。 当数据库毁坏后可重新装入后援副本把数据库恢复 到转储结束时刻的正确状态,然后利用日志文件, 把已完成的事务进行重做处理,对故障发生时尚未 完成的事务进行撤销处理。
7.2.2 完整性约束条件
六类完整型约束条件分别为:
静态列级约束。 静态元组约束。 静态关系约束。 动态列级约束。 动态元组约束。 动态关系约束。

第七章 SQL Server数据库应用开发技术

第七章 SQL Server数据库应用开发技术

7.2 简单查询
7.2.2 条件查询
5.使用LIKE关键字 通配符如下: 百分号 % :代表任意长度的字符串。 下划线 _ :代表任意单个字符。 封闭方括号 [ ] :代表方括号里列出的任意一个字符。 [^]:代表任意一个没有在方括号里列出的字符。 【例7.12】查询jy071、jy072和jw071班学生的姓名和班级。
返回目录
7.3 多表查询
7.3.2 外连接查询
1.左外连接 左外连接是指返回所有的匹配行,并从关键字JOIN左边的表中 返回所有不匹配行。由此可知,即使不匹配,JOIN关键字左边的 表中数据也将被保留,所以在左外连接中JOIN关键字左边的表为 主表,右边的表为从表。 语法格式: FROM 表1 LEFT [OUTER] JION 表2 ON 条件表达式 【例7.19】从教学管理数据库中查询学生的学号、姓名、课程名和 成绩(包括没有成绩的新入学同学的学号、姓名)。
第7章 数据查询
7.1 7.2 7.3 7.4 SELECT语句 简单查询 多表查询 汇总查询
7.5
小结
子查询
7.1 SELECT语句
查询是关系数据库中最基本的数据操作,通过SELECT语句来实现
基本语法格式: SELECT [ ALL | DISTINCT ] 字段列表 [INTO 目标数据表] FROM 源数据表 [,„n] [WHERE 条件表达式] [GROUP BY 分组表达式] [HAVING 搜索表达式] [ORDER BY 排序表达式 [,„n] [ASC] [DESC] ] [COMPUTE 行聚合函数名(统计表达式)[,„n] [BY 分类表达式 [,„n] ] ]
第7章 数据查询
知识技能目标:
1.理解数据查询的意义。 2.熟练掌握各种查询技术,包括单表查询、多 表查询、汇总查询、分类汇总、汇总计算、 子查询等,并能对查询结果排序、合并、保 存。

管理安全性SQL_Server_2019

管理安全性SQL_Server_2019

最后,单击【数据库用户-新建】对话框底
部的“确定”,完成用户创建。
2020/6/11
9.2.3设置登录验证模式
❖ 如果连接来自一个不安全的系统,我们可以使用身份验证,SQL Server 将验证登录 的身份,即通过用户提供的登录名和与预先存储在数据库中的登录名和密码进行比 较来完成身份验证。
❖ 下面介绍如何在Microsoft SQL Server Management Studio工具中设置身份验证 模式。
SQL Server推荐使用Windows验证模式。
2020/6/11
第二个安全性问题是:当用户登录到系统中,可以执行哪些操作, 使用哪些对象和资源呢?这也是一个非常基本的安全问题,在 Microsoft SQL Server 2019 R2系统中,这个问题是通过安全对象 和权限设置来实现的。
第三个安全性问题是:数据库中的对 象由谁所有?如果由用户所有,那么 当用户被删除时,其所拥有的对象怎 么办呢?数据库对象可以成为没有所 有者的"孤儿"吗?在Microsoft SQL Server 2019 R2系统中,这个问题是 通过用户和架构分离来解决的。在该 系统中,用户并不拥有数据库对象, 架构可以拥有数据库对象。用户通过 架构来使用数据库对象。这种机制使 得删除用户时不必修改数据库对象的 所有者,提高了数据库对象的可管理 性。数据库对象、架构和用户之间的 这种关系如图9-1所示。
2020/6/11
图9-12数据库角色-新建对话框
❖ (2)在“常规”选择页地“角色名称”框中 输入新角色的名称。若不指定“所有者”,则创 建此角色的用户是其所有者。
❖ (3)单击“添加”按钮,选择数据库用户或 者角色为此角色的成员。 (4)单击“确定”按钮,完成操作。

SQLServer的安全性专题知识讲座

SQLServer的安全性专题知识讲座

8. 4 管理数据库旳角色
固定数据库角色旳权限。 见P262
8. 4 管理数据库旳角色
8. 4. 2 创建顾客自定义角色 使用企业管理器创建顾客自定义角色
8. 4 管理数据库旳角色
8. 4. 3 删除顾客自定义角色 在企业管理器中,右击待删除角色,从弹
出旳快捷菜单中选择“删除”选项,并在 随即弹出确实认对话框中选择“是”就能 够删除一种顾客自定义角色。但需注意, 首先,系统固定旳数据库角色不能被删除; 其次,不能删除一种有组员旳角色,即必 须首先删除该角色旳组员,不然系统将提 醒应先删除其组员。
登录帐户到一种数据库中旳映射。 在企业管理器中删除一种数据库顾客
能够用鼠标右击欲删除旳顾客,从弹 出旳快捷菜单中选择“删除”选项。
8. 4 管理数据库旳角色
8. 4. 1 固定旳数据库角色 固定数据库角色是在每个数据库中都存在
旳预定义组。管理员能够将一种顾客加入 到一种或多种数据库角色中。固定数据库 角色不能被添加、修改或删除。SQL Server 在数据库级设置了固定数据库角色来提供 最基本旳数据库权限旳基本管理。 SQL Server提供了十种常用旳固定数据库角 色,这些固定数据库角色信息存储在系统 表sysusers中。
8. 2 管理服务器旳安全性
8. 2. 3 添加SQL Server身份验证登录 帐户 使用企业管理器添加登录帐户
8. 2 管理服务器旳安全性
8. 2. 4 添加Windows身份验证登录帐户 使用企业管理器添加登录帐户
8. 2 管理服务器旳安全性
8. 2. 5 修改登录帐户属性 能够在添加了新旳登录帐户后修改其属
8. 5 权限管理
1、使用企业管理器管理数据库顾客旳权限 2、使用企业管理器管理数据库角色权限 3、使用企业管理器管理数据库对象权限

SQL Server 2000数据库技术(填空题)

SQL Server 2000数据库技术(填空题)

SQL Server 2000数据库技术(填空题)1、关系数据库中可命名的最小数据单位是(属性名)。

2、若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之前就被撤消,这种情况就称为(事务故障)。

3、SQL语句中修改表结构的命令是(ALTER TABLE)。

4、关系数据库管理系统能实现的专门关系运算包括选择、连接和(投影)。

5、操作中,我们要求某一操作要么都发生,要么都不发生。

这一特性称为(原子性)。

6、Microsoft公司在(1997)发布了SQL Server 7.0标准版,在(2000)年发布了SQL Server 2000,在(2005)年发布了SQL Server 2005。

(第1章第1节,知识点:SQL Server2000简介,难度:易)7、SQL Server 2000 的版本包括(标准版)、(企业版)、个人版、开发版、企业评估版和Windows CE版。

(第1章第1节,知识点:SQL Server2000基础,难度:易)8、二维表中每一列的所有数据在关系模型中称为(字段),二维表格中的每一行在关系模型称为(记录)。

(第1章第2节,知识点:数据模型,难度:中)9、SQL语言中用来建立数据库对象的命令动词是(CREATE),查询数据库中记录的命令动词是(SELECT)。

(第1章第3节,知识点:SQL 语言,难度:中)10、数据库系统具有数据的(外模式)、(模式)和内模式三级模式结构。

(第1章第2节,知识点:数据模型,难度:中)11、SQL Server 2000局部变量名字必须以(@)_开头,而全局变量名字必须以(@@)_开头。

(第6章第1节,知识点:变量,难度:易)12、语句select ascii('D'), char(67) 的执行结果是:(68)和(C)。

(第6章第1节,知识点:函数,难度:中)13、语句select lower('Beautiful') , rtrim('我心中的太阳') 的执行结果是:(beautiful、)和(我心中的太阳)。

sql server所采用的安全机制

sql server所采用的安全机制

sql server所采用的安全机制
SQL Server采用了多种安全机制来保护数据的安全性和隐私性。

以下是一些常见的安全机制:1、身份验证:SQL Server支持多种身份验证方式,包括Windows 身份验证和SQL Server身份验证。

Windows身份验证使用操作系统的用户和密码,SQL Server身份验证使用SQL Server数据库的用户名和密码。

2、权限和访问控制:SQL Server使用基于角色的权限模型来管理对数据库对象的访问权限。

管理员可以创建不同的角色,并将用户分配给相应的角色以控制其对数据库对象的访问权限。

3、加密:SQL Server支持数据加密,可以对敏感数据进行加密存储,保护数据的机密性。

4、传输层安全性:SQL Server支持使用SSL/TLS 协议对数据库连接进行加密,确保数据在传输过程中的安全性。

5、审计和日志:SQL Server提供了审计和日志功能,可以记录数据库的操作历史,包括登录信息、数据更改和访问权限的变更等,以便对数据库进行监控和追踪。

6、防火墙和网络安全:SQL Server可以配置防火墙以限制对数据库的访问,并支持其他网络安全相关的功能,如IP过滤、端口控制等。

需要注意的是,SQL Server的安全性还取决于操作系统和网络的安全性。

为了确保数据库的综合安全性,还需要在操作系统和网络层面采取相应的安全措施。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
③ 使用T-SQL语句创建登录账户 例7-1:创建一个Windows登录账户ZhangSan(首先创建
Windows用户ZhangSan)。
CREATE LOGIN [ludalin\ZhangSan] FROM WINDOWS
例7-2:创建一个SQL Server 登录账户,登录名为LiSi并指定 密码abcd。
5、角色管理
2)固定服务器角色
其中: <状态选项>::=ENABLE | DISABLE <设置选项>::=PASSWORD=‘<口令>’ [, OLDPASSWORD=‘<旧口令>’] | NAME=<登录名> | DEFAULT_DATABSE=<默认数据库> | DEFAULT_LANGUAGE=<默认语言
3、登录账户管理
② 使用T_SQL语句创建数据库用户 创建数据库用户的语句为CREATE USER,其语法格式如下:
CREATE LOGIN <登录名> WITH PASSWORD=‘<密码>’ [, SID=<sid> | DEFAULT_DATABASE=<数据库名> | DEFAULT_LANGUAGE=<语言名> [, …n]]
创建SQL Server登录账户的语法如下: CREATE LOGIN <登录名> WITH PASSWORD=‘<密码>’ [, SID=<sid> | DEFAULT_DATABASE=<数据库名> | DEFAULT_LANGUAGE=<语言名> [, …n]]
3、登录账户管理
2)创建登录账户
sa:系统管理员。 <计算机名>\<安装SQL Server的用户名>:安装SQL Server时
指定的SQL Server管理员(安装时选择“当前用户”即安装 SQL Server的Windows用户,作为SQL Server管理员)。
3、登录账户管理
2)创建登录账户
① 使用SSMS创建Windows登录账户 演示……
第7章 SQL Server安全性 管理
【学习要点】
身份验证模式 登录账户管理 数据库用户管理 权限管理
1、SQL Server安全认证模式
用户若是想访问和操作SQL Server中某一数据 库中的数据,必须满足以下3个条件:
能通过身份验证登录服务器:登录帐户(master数据库系统 表syslogins中)。
① 使用SSMS删除数据库用户 演示……
4、数据库用户管理
3)删除数据库用户
② 使用T-SQL语句删除数据库用户 删除数据库用户的语句为DROP USER,其语法格式如下:
DROP USER <用户名>
例7-8:删除StuInfo数据库中的用户myUser。
DROP USER myUser
4)删除登录账户
① 使用SSMS删除登录账户 演示……
3、登录账户管理
4)删除登录账户
② 使用T-SQL语句删除登录账户 删除登录账户的语句为DROP LOGIN,其语法格式如下:
DROP LOGIN <登录名>
例7-6:删除登录账户lisi_new。
DROP LOGIN lisi_new
CREATE LOGIN LiSi WITH PASSWORD = 'abcd'
3、登录账户管理
3)修改登录账户
① 使用SSMS修改登录账户 演示……
3、登录账户管理
3)修改登录账户
② 使用T-SQL语句修改登录账户 修改登录账户的语句为ALTER LOGIN,其语法格式如下:
ALTER LOGIN <登录名> {<状态选项> | WITH <设置选项>[, ……n]}
是数据库用户或者是某角色成员:与登录账户关联的用户( 用户数据库系统表syusers中)。
具有相应操作权限:权限。
2、SQL Server身份验证模式
SQL Server登录时身份验证有2种模式: WINDOWS身份 验证模式和混合身份验证模式。
3、登录账户管理
1)系统安装时创建的登录账户
5、角色管理
1)角色的概念及分类
角色是为了易于管理而按相似的工作属性对用户进行分组的 一种方式。在SQL Server中,组是通过角色来实现的。
在SQL Server中,角色分为服务器角色和数据库角色两种。 服务器角色是服务器级别的一个对象,只能包含登录名;数
据库角色是数据库级别的一个对象,只能包含数据库用户名 。
3、登录账户管理
2)创建登录账户
② 使用SSMS创建SQL Server登录账户 演示……
3、登录账户管理
2)创建登录账户
③ 使用T-SQL语句创建登录账户 创建登录账户的语句为CREATE LOGIN。
创建Windows登录账户的语法如下: CREATE LOGIN <计算机名>\<Windows用户名> FROM WINDOWS [WITH DEFAULT_DATABASE=<数据库名> | DEFAULT_LANGUAGE=<语言名> [, …n]]
4、数据库用户管理
1)默认数据库用户
默认数据库用户主要有:dbo、guest、Information_schema 和sys,其中dbo是最重要的一个默认用户,表示的是数据库 拥有者。
4、数据库用户管理
2)创建数据库用户
① 使用SSMS创建数据库用户 演示……
4、数据库用户管理
2)创建数据库用户
ห้องสมุดไป่ตู้
4、数据库用户管理
2)创建数据库用户
② 使用T_SQL语句创建数据库用户 例7-7:在StuInfo数据库中创建数据库用户myUser,其登录
名为myLogin。
Use StuInfo Go CREATE USER myUser FROM LOGIN myLogin
4、数据库用户管理
3)删除数据库用户
3)修改登录账户
② 使用T-SQL语句修改登录账户 例7-3:将登录账户LiSi的名称更改为LiSi_new。
ALTER LOGIN LiSi WITH NAME=LiSi_new
例7-4:将登录账户LiSi_new的密码修改为“abcdef”。
例7-5:禁用登录账户LiSi_new。
3、登录账户管理
相关文档
最新文档