Windows IBM DB2“管理员”没有执行“选择”的权限

Windows IBM DB2“管理员”没有执行“选择”的权限,windows,db2,ibm-data-studio,Windows,Db2,Ibm Data Studio,我一直在测试我帮助开发的一个软件,它驻留在一个32位应用服务器上。它需要连接到64位数据库服务器,该服务器使用IBMDB2V10.1 我是安装DB2的人,但我很确定它已经被修改过了;我无法再使用用户名/密码进行连接:db2admin/db2admin 相反,我必须使用管理员/p@ssw0rd. 我不记得自己创建了那个用户——它是计算机本身的一个本地帐户——但通过我的ODBC测试,它可以连接到数据库 但是,它似乎没有任何特权。我试图了解这个“用户”在哪里使用DataStudio3.2.0的尝试失败

我一直在测试我帮助开发的一个软件,它驻留在一个32位应用服务器上。它需要连接到64位数据库服务器,该服务器使用IBMDB2V10.1

我是安装DB2的人,但我很确定它已经被修改过了;我无法再使用用户名/密码进行连接:db2admin/db2admin

相反,我必须使用管理员/p@ssw0rd. 我不记得自己创建了那个用户——它是计算机本身的一个本地帐户——但通过我的ODBC测试,它可以连接到数据库

但是,它似乎没有任何特权。我试图了解这个“用户”在哪里使用DataStudio3.2.0的尝试失败了,尽管考虑到我在DB2方面的经验不足,这并不奇怪

我的关注有两个方面:

查找此“管理员”所在的位置。 并修改其特权以复制db2admin的特权,db2admin是一个数据库管理员。 我在网上研究这个问题的尝试失败了——要么所谓的解决方案不起作用,要么太复杂了,我无法理解它是否起作用

我尝试了以下方法:

通过DataStudio3.2.0直接修改数据库;右键单击数据库,选择Manage Privileges,并检查我能找到的所有内容—注意,我没有找到任何“管理员”,只有“PUBLIC”、“DB2ADMIN”、“SYSDEBUG”。而且,它似乎并没有节约。 '从SYSCAT.DBAUTH中选择*,其中被授权人='管理员';我想这会产生一个很长的表列表。我不知道如何处理它们,但是如果我将“Administrator”替换为“db2admin”,我会得到完全相同的结果。 使用DataStudio创建名为“Administrator”的新用户;
求你了,我想把这件事弄清楚;DB2是一个非常令人沮丧的数据库。我使用的是DB2V10.1、DataStudio3.2.0和WindowsServer2008。

我解决了这个问题,但为什么会出现这种情况还有待观察


创建用户“管理员”后,我通过检查所有内容修改了权限。它似乎起作用了。

好吧,我解决了它,但为什么会发生这种情况还有待观察


创建用户“管理员”后,我通过检查所有内容修改了权限。它似乎有效。

您必须向用户授予表上的SELECT

将mytable上的SELECT、INSERT授予用户peter


db2并不令人沮丧

您必须向用户授予表上的SELECT

将mytable上的SELECT、INSERT授予用户peter


db2并不令人沮丧

DB2身份验证依赖于外部机制,如操作系统安全性或ldap。如果是你的情况,似乎是Windows安全

DB2授权是内部的,因此任何授权都在数据库中,只有一些例外

DB2中有几个权限,一些在实例级别,另一些在数据库级别。在数据库级别,您可以通过查询目录在数据库中找到它们,并且可以将它们分配给用户或组。 实例级别的其他权限与操作系统组外部机制相关联

数据库中的最高权限是DBADM,实例级别的最高权限是SYSADM。SYSAMD关联组中的每个用户都会自动成为实例中所有数据库中的DBADM

这只是对DB2安全性的一个简短解释。这意味着您的“管理员”用户拥有“连接”权限。有时“连接”权限是公共的,这意味着任何用户都可以连接,但它没有任何其他权限或权限


最后,在Windows环境中,还有另一个安全层,它将用户关联到两个组DB2ADMNS和DB2USERS中。有关更多信息,请查看此链接。DB2身份验证依赖于外部机制,如操作系统安全性或ldap。如果是你的情况,似乎是Windows安全

DB2授权是内部的,因此任何授权都在数据库中,只有一些例外

DB2中有几个权限,一些在实例级别,另一些在数据库级别。在数据库级别,您可以通过查询目录在数据库中找到它们,并且可以将它们分配给用户或组。 实例级别的其他权限与操作系统组外部机制相关联

数据库中的最高权限是DBADM,实例级别的最高权限是SYSADM。SYSAMD关联组中的每个用户都会自动成为实例中所有数据库中的DBADM

这只是对DB2安全性的一个简短解释。这意味着您的“管理员”用户拥有“连接”权限。有时“连接”权限是公共的,这意味着任何用户都可以连接,但它没有任何其他权限或权限

最后,在Windows环境中,还有另一个安全层,它将用户关联到两个组DB2A中 DMNS和db2user。有关更多信息,请查看此链接