如何防止MS Access连接到我的MS SQL Server数据库?

问题描述:

MS Access在用于连接到SQL Server时会导致很多性能问题。如何防止MS Access连接到我的MS SQL Server数据库?如何防止MS Access连接到我的MS SQL Server数据库?

+0

看起来好像'APP_NAME()'[得到传入登录触发器](http://msdn.microsoft.com/en-us/library/bb326598.aspx) – 2011-03-28 13:27:12

+0

什么具体的性能问题访问涉嫌造成? – 2011-03-30 21:26:25

+0

David,用户正在使用Access来针对我们的交易DB运行报告。他们只应该针对复制报告数据库运行报告。 – Tarzan 2011-04-01 21:59:12

拿走它连接的用户的权利。

+0

我喜欢简单的解决方案。谢谢,HLGEM! – Tarzan 2011-03-29 16:26:56

您拥有Access的用户也拥有SQL Server权限吗?但是你更喜欢他们没有使用这个工具?

你可以看看在dm_exec_sessions在登录触发器,并停止用户,其程序的名称是什么访问发送:Is it possible to deny access to SQL Server from specific programs?

这可以工作,但不是针对一个精明的或恶意用户的证明,因为该计划名称为仅在建立连接时提供。

理想情况下,您希望限制他们的权利,以便他们可以访问的任何对象都不会滥用这些对象。即没有直接表访问,任何视图都不会选择“全部时间”数据集等。

同意Cade Roux。如果您拿掉使用Access的可能性,他们可能会使用MS查询工具或Excel ... 最好是限制他们对数据的权利或以其他方式解决问题的根源(用户教育?缺少更好的工具?)不仅仅是限制使用Access ...

您可以使用SQL Server跟踪来追踪运行的用户长时间运行的查询并提出替代方案或者教育他们。轻轻地;)