【发布时间】:2012-10-01 15:48:59
【问题描述】:
我们目前正在运行 2 台服务器,一台托管名为 IFCA 的应用程序,这是一种会计软件,另一台托管其数据库。如果我以管理员身份运行该应用程序,一切正常,但如果我是用户则不行。我得到的错误是
过程或函数...指定的参数过多
起初我以为是权限问题。我试图给用户越来越多的权限,直到我最终将该用户设置为管理员,但仍然出现该错误。
所以我的问题是除了权限之外,Win Server 2008 上的管理员和非管理员之间还有什么区别?
谢谢
【问题讨论】:
-
这可能是数据库实例中的权限问题,而不是操作系统上的问题。如果应用程序使用集成的安全上下文访问数据库,则两个不同的用户可能有权访问函数或存储过程的两个不同版本。
-
如何查看数据库中的权限如何连接到服务器的用户级别?我原以为数据库权限取决于应用程序的用户级别,因为应用程序有自己的用户系统。现在我考虑一下,一直到服务器用户级别是有意义的。不知道在哪里可以找到此信息。非常感谢您的帮助。
-
这完全取决于如何设置用户以及应用程序如何访问数据库。应用程序使用的连接字符串将是开始确定它的好地方。 DB 的安全性如何与操作系统的安全性相关联更多的是 DBA(或 ServerFault)的问题。您可能可以将 SQL Profiler 附加到数据库,以确定当它失败时正在访问的确切内容(甚至可能查看有关失败的更多有用信息)。然后尝试使用相同的用户上下文针对数据库手动重新创建该应用程序,从等式中删除应用程序。
-
@David 我进行了一些挖掘,发现了一个描述应用程序设置的文件。看起来每个应用程序用户都使用相同的登录名和密码连接到数据库,而不管他的服务器用户级别如何。大家还有什么想法吗?