SQL30082N 尝试建立连接失败,安全性原因为 "19"
数据库 2009-11-18 14:14:45 阅读183 评论0 字号:大中小 订阅
今天解决了一个DB2数据库连接的问题。
问题的现象是,Windows 2003 Server,安装了DB2 8.x数据库,使用administrator账号通过远程桌面登录到操作系统。在CLP中直接 db2 connect to mydb,是可以成功连接的。但如果改成 db2 connect to mydb user administrator using xxxxxx,则会报错: SQL30082N 尝试建立连接失败,安全性原因为 "19"("USERID DISABLED or RESTRICTED")。 SQLSTATE=08001。
我改用其他数据库账号,现象也是一样的,不加 user xxx using xxxx 时可以连接成功,加了就报上面的错误。我先检查了一下db2 get dbm cfg | find /i "GROUP",发现SYSADM组没有设定,那么对于windows操作系统来说默认的就是administrator组,我到 administrator组下检查了一下,发现这几个数据库账号都在该组下,所以应该没什么问题。
再db2 get dbm cfg | find /i "AUTH",看到身份认证模式是SERVER,这正好回答了为什么不加user xxx using xxxx时可以连接上数据库,因为这时候我已经成功登录操作系统了,所以不带这些参数时DB2会认为该用户已经验证通过了,可以直接访问数据库。那为什么加上 user xxx using xxxx 以后就不行了呢,因为此时 DB2 会调用 Windows 自己的验证机制来做身份认证。对于windows 2003 server,到控制面板-->管理工具-->本地安全策略-->本地策略-->用户权限分配 中,可以看到两个策略:从网络访问此计算机、拒绝从网络访问这台计算机。检查了一下,数据库账号所在组确实包含在“从网络访问此计算机”策略中,没有问题,再检查一下“拒绝从网络访问这台计算机”策略,发现其中有个组包含了数据库帐户(因为数据库帐户不仅在 administrator组中,也还在其它组中存在)。从该策略中删除这些组,然后 db2stop、db2start,重新 db2 connect to mydb user administrator using xxxxxx,连接成功!
问题解决了,但深层的原因还需要继续挖掘和学习,比如为什么这些账号可以从远程桌面登录,说明这些账号是可以从网络访问此计算机的,但却不能访问DB2数据库?这里并不需要db2comm参数和services来支持远程客户端连接阿。另外一个心得是,最好给db2建立独立的用户组,而不是直接用 administrator组,这样安全性没有保障,而且安全策略也不好分配。
分享到:
相关推荐
北京 在使用SQLServer的过程中,用户遇到的最多的问题莫过于连接... 一、客户端工具连接失败 在使用SQLServer自带的客户端工具(以企业管理器为例)连接SQLServer时,最常见的错误有如下一些: 1、SQLServer不存在
用于解决SQLSERVER连接问题驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接问题JAR包。
MyEclipse(Java)连接SQLServer 2008 R2 失败n次的经验.pdf
在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户...
建立Sql Server远程连接
处理SQLSERVER客户端连接无法通过使用安全套接字层(SSL)加密,同时能够使 SQL Server 建立安全连接问题JAR包。
本文介绍了SQLServer远程连接失败的原因以及解决方案,需要的朋友可以参考下
由于项目中必须得用JDK6来作为Java环境,于是连接SQLServer时出现了com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“ Java...
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 ...
SQL Server连接不成功的原因 很多人都打建好自己的sql动网数据库 但是自己连接不上去 为什么 就到这里找原因吧
SQL Server 2005 启用远程连接
SqlServer连接工具SqlServer连接工具SqlServer连接工具
SQL Server连接中常见错误原因分析SQL Server连接中常见错误原因分析
SQL2005_用户_'sa'_登录失败。该用户与可信_SQL_Server_连接无关联
解决Could not generate DH keypair 和 Unsupported curveId :29问题
本人自己试验,在过程中写的。...由于软件、程序时有更新,所以声明该文件适用于MyEclipse8.5与SQL Server 2008 R2的连接。驱动程序版本3.0. 文中有相关资源的下载网址
连接思路:先在SQLSERVER建立自己的数据库,如MyDB。然后在操作系统建立一数据源(ODBC),此数据源的驱动选择SQLSERVER,数据源与SQLSERVER中的MyDB关联。最后在LABVIEW中使用AcTIveX连接到数据源。本文假设用户...
关于Oracle安装后SQL Developer运行时出现连接失败解决方法: 如果dos命令下能够登录并查询出数据,则对你有所帮助,scott用户的密码不对,也有对你的所帮助