[计算机软件及应用]项目七 数据库维护
2.public角色。 数据库中的每个用户都属于public 数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给public 角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给public 角色的权限。 3.用户定义的数据库角色。 (1)创建角色: 在当前数据库中创建新角色,其语法格式: sp_addrole role[,owner] 【例9】在UFDATA_999_2011数据库中创建一个名称为myrole的角色 EXEC sp_droprole myrole (2)删除角色: 使用sp_droprole从当前数据库删除指定的角色,其语法为: sp_droprole role 【例10】删除UFDATA_999_2011数据库中的myrole角色 EXEC sp_addrolemyrole,dbo (3)为用户添加角色: 要把一个数据库用户添加到一个角色中,应使用sp_addrolemember存储过程,其语法为: EXECUTE sp_addrolemember role_name, user_name (4)取消用户角色: 取消数据库用户拥有的角色,使用 sp_droprolemember存储过程,其语法为: EXECUTE sp_droprolemember role_name,user_name 【例11】使用SQL语句,为数据库用户“test”指定固定的数据库角色db_accessadmin。完成后再取消该角色。 EXECUTE sp_addrolemember db_accessadmin, test EXECUTE sp_droprolemember db_accessadmin, test 3.4权限管理 权限管理是SQL Serve安全管理的最后一关,访问权限指明用户可以获得哪些数据库对象的使用权,以及用户能够对这些对象执行何种操作。将一个登录名映射为一个用户名,并将用户名添加到某种数据库角色中,其实都是为了对数据库的访问权限进行设置,以便让各用户能够进行适合其工作职能的操作。 3.4.1 授予权限 把权限授予某一用户,允许用户对数据库对象执行操作。即允许某个用户或角色,对一个对象执行某种操作或语句。 1、使用图形界面授予权限 打开Management Studio,选中Code表,点击右键,选择“属性” 出现Code表属性对话框,此时“用户或角色”栏中为空,点击“添加”按钮 出现“选择用户或角色”对话框,点击“浏览”选择要授予权限的用户 (3)错误和警告事件类 错误和警告是在发生SQL Server错误或警告时产生的事件类集合(例如,一个在编译存储过程中产生的错误,或者一个SQL Server中的异常错误),其对应的常用事件类解释如下表2-5所示: 2.3 事件探查器的实际应用 在实际U8软件维护过程中,经常遇到的问题主要有两类:一类是显式的错误和异常,可直接在事件探查器中利用Exception事件捕获;另一类是隐式的数据错误,在事件探查器中无明显的问题捕获标识,如用户的汇总表和明细表数据不一致(通常叫做数据对不上)等。 1.创建跟踪的方法 (1)从“开始”→所有程序→SQL Server节点下打开事件探查器(SQL Server Profile), 单击“文件”→“新建跟踪”,如图7.58所示。连接对应的服务器,点击“确定”。如图7.59所示。 (2)在“跟踪名”中输入对应的名称,默认为“无标题-(数字)”,在使用模板中也可以选择已有的跟踪模板。如图7.60所示。 图7.60 跟踪属性窗口 (4)在“事件选择”页选择您希望跟踪的事件,如果想显示所有的事件则在“显示所有事件”前打勾。(建议选择:TSQL—SQL:BatchCompleted;存储过程—:SP:StmtCompleted;错误和警告—ErrorLog、EventLog、Exception);如果想显示所有的数据列则在“显示所有列”前打勾。(建议选择:EventClass、TextData、SPID)。如图7.61所示。 图7.61 事件和数据列选择窗口 (5)选择完毕后点“运行”开始跟踪。如图7.62 所示。 图7.62 运行的跟踪界面 2.显式的错误和异常的解决方法 对于第一类问题,通常的解决办法是: 首先要利用事件探查器跟踪有问题账套,重点查看在跟踪过程中,报错语句前后的sql语句所涉及到的数据表或数据对象内容是否有问题。 确定问题账套的报错位置后,再利用事件探查器跟踪演示账套(或者不出问题的其他用户账套),并且重点对比有问题账套报错处前后sql语句涉及的表或数据对象内容有何差
原创力文档

文档评论(0)