【问题标题】:Lock database for other application为其他应用程序锁定数据库
【发布时间】:2016-05-18 05:31:42
【问题描述】:

我正在使用 SQL Server 2008 R2,有人通过 Excel 中的宏代码使用我的数据库,有什么方法可以阻止其他应用程序(如 Excel)访问我的数据库?

【问题讨论】:

  • 他们应该能够使用它吗?
  • 请澄清:您是否只希望任何应用程序的一个实例一次访问它?你不能阻止其他应用程序访问数据库,但你可以将数据库置于单用户模式。
  • 我的 sql 在服务器上,我只想让我的应用程序访问它。
  • SQL Server 访问由登录/用户身份验证控制,为您的应用程序使用特定的用户/登录名,并授予该登录访问您的服务器的权限,撤销对所有其他用户/登录名的权限。
  • 我已经声明了一个用户,但是有人正在通过“sa”用户访问它。

标签: sql sql-server database encryption sql-server-2008-r2


【解决方案1】:

创建一个用于查询数据库的服务(例如在 C#.NET 中)。在 C# 等编程语言中,您可以通过“lock”语句轻松锁定数据库。

【讨论】:

  • 问题没有足够的细节供您提供解决方案。
【解决方案2】:

如果您的用户应该访问数据库(他们拥有登录名和权限)但只能使用有限范围的软件,您必须告诉他们不要使用 Excel。 有一个基于连接后触发器的解决方法,它检查会话中的 application_name,但它不是很有效。

如果他们不必直接连接到数据库,您必须删除他们的登录名(或撤销权限)或更改密码(如果他们共享一个普通用户)。

【讨论】:

    猜你喜欢
    • 2012-11-05
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多