WEB开发网
开发学院数据库MSSQL Server SQL Server与Oracle数据库在安全性上的异同 阅读

SQL Server与Oracle数据库在安全性上的异同

 2008-08-28 09:57:37 来源:WEB开发网   
核心提示: 如我们通过命令,建立一个test的用户,SQL Server与Oracle数据库在安全性上的异同(3),其密码为test111,Create user test identified by test111;注意 ,如先用系统管理员帐户登陆到系统中,然后给用户test查询表product的权

如我们通过命令,建立一个test的用户,其密码为test111。

Create user test identified by test111;

注意 ,这里设置用户名密码的时候,若是纯数字的密码,则数据库不会接受。

然后,我们利用如下语句连接到数据库,看看有什么现象。

Connet test/test111;

此时,数据库会拒绝这个用户登陆到数据库,会提示这个用户没有连接到数据库的权限。除非,我们再利用如下命令,对用户进行授权。

Grant connect to test;

对用户名进行授权后,才能够连接到数据库中去。这一点差异,很多数据库管理员在刚开始接触数据库的时候,特别是先前有SQL Server数据库使用经验的人,一般都不容易搞清楚。结果在学习或者使用的时候,会遇到一些麻烦。笔者因为参加过SQL Server数据库管理员的培训与考试,所以,在后续使用Oracle数据库的时候,对于这一点当时就有点困惑。现在回头想想,Oracle大概是基于安全方面的考虑吧。

3、 对象授权。

假设现在有如下这种情形。

现在有个用户test,其有product表的查询权限。而另外一个用户test1不具有这个表的任何访问权限。现在,test想把product表的查询权限赋予test1,让其也可以查询数据库中的product表。注意,这里的用户test只是普通用户,不是数据库管理员。

这个需求在SQL Server数据库中,是无法实现的,因为用户test没有数据库管理的权限,而只有表查询的权限,其没有权利为其他用户分配这个表的查询权限的权利。但是,在Oracle数据库中,则通过“对象授权” 的方式,可以实现这个需求。

第一步:利用系统管理员帐户,在分配权限的时候,给予“ 对象授权” 的权利。

如先用系统管理员帐户登陆到系统中,然后给用户test查询表product的权利,并启用对象授权模式。具体命令如下:

上一页  1 2 3 4  下一页

Tags:SQL Server Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接