代码之家  ›  专栏  ›  技术社区  ›  BradC

SQL Server“心跳”检查的最低权限?

  •  1
  • BradC  · 技术社区  · 15 年前

    我们正在开发一个应用程序来对我们所有的SQL服务器(2000、2005和2008)进行“heartbeat”测试,我们正试图找出在SQL服务器上执行此操作所需的最低权限。(涉及的平台是待定的,但应使用标准连接字符串)。

    我们正在考虑使用“select@@版本”查询,这应该是确定SQL Server是否已启动、运行和响应请求所必需的全部内容。

    使用连接字符串简单地连接到服务器所需的最低SQL权限是什么?(如果可能的话,我们甚至不想给DataReader)这些最小权限是否允许我执行上述查询?有没有更好/更标准的技术来做这个?SQL 2000、2005和2008的行为会有所不同吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   gbn    15 年前

    只需创建监视器代码使用的登录名。在SQL Server 2005和2008上,您还需要 GRANT CONNECT SQL TO (login) ,否则是一样的。

    无需其他权利 SELECT @@VERSION . 这个 db_datareader 您提到的是数据库,而不是服务器级别。

    sqlping将检测到一个安装,但并不总是告诉您它是否正在运行。

    何时运行 选择@@版本 ,确保打开并断开连接。即使SQL服务器不接受新的连接,保持打开的连接仍然可以工作。

        2
  •  0
  •   dkretz    15 年前

    考虑 SQLPing .

    引号:“可以使用sqlping发现有关SQL Server 2000安装连接的详细信息,而无需任何身份验证。”

    或者用谷歌搜索自己。我见过其他几个同名的公用事业公司。

        3
  •  0
  •   Learning    15 年前

    所需的只是对tempdb数据库的权限。此数据库保证在所有服务器和所有版本中都存在。

    这还将确保满足审核要求,因为您不必为心跳检查授予任何其他数据库的访问权。