早上好,
我们在几年前由服务提供商为我们开发的应用程序存在一个非常烦人的问题。文档很差,今天没有人知道真的知道幕后发生了什么。所以这就是故事:
在IIS中的服务器上是由服务帐户用户托管的一些服务。这些服务连接到另一台服务器上的数据库。到目前为止没什么特别的。 这些服务使用NHibernate进行数据访问。几年前我自己用过它,但整个场景有点不同,当时我没有想到。 事实上,服务帐户用户在数据库服务器上具有SYSADMIN角色。我们不再需要这一点,因为我们现在将数据库移动到另一台服务器上。还有其他DB位于同一服务器上,例如BizTalk-DB等。你看到了潜伏的安全问题......
现在,当我昨天测试并删除了SYSADMIN角色并且只给了' dbowner为特定DB提供给用户,整个废话停止了could not execute batch command.[SQL: SQL not available]
例外。
主要问题是,在执行NHibernate生成的SQL时总是需要给用户SYSADMIN?我认为情况并非如此,那么我们可以搜索什么呢?也许我们错过了太明显的事情了?
最诚挚的问候, 延