【发布时间】:2010-05-20 01:12:42
【问题描述】:
目前我们的其中一个数据库(SQL Server 2008)通过多种不同的机制进行访问:.Net SqlClient 数据提供程序; SQL Server 管理工作室;各种 .Net 应用程序和 2007 Microsoft Office 系统(基本上是 Excel)。
我看到在 sys.dm_exec_sessions DMV 中可以看到访问当前会话数据库的程序的程序名称。我的问题是:是否有可能拒绝来自特定命名程序的访问?一等奖将是如果可以对任何命名程序执行此操作,但我们将从能够拒绝所有 Microsoft Office 应用程序(尤其是 Excel)访问此特定数据库中获得很多好处。
【问题讨论】:
-
你在使用AD认证吗?
-
只是提醒一下,但不能保证程序名称准确无误,例如,如果您使用 OLEDB 进行连接,您可以使用
;Application Name=xxxxx任意设置,这同样适用于 ODBC。 -
混合模式身份验证 - 最近的东西使用 Windows 身份验证进行连接,但存在大量应用程序等...使用 SQL Server 身份验证进行连接
-
在 Sybase 和 Oracle 我有一些服务器,我们没有安装 odbc 目录来阻止 ODBC 和 tus Excel - 但是我不确定 ADO.Net 和 SQL Server 可以在没有这些的情况下运行
标签: sql sql-server-2008