我试图创建一个持久的SQL(SQL Server 2005中)上表级锁。我不更新/查询指定的表,但我需要阻止第三方应用程序无法更新锁定的表,以防止被张贴事务的方法(我要锁定的表是其交易的关键是会干扰我的处理)。

从我的经验表只锁定特定交易发生的时间。任何想法?

在第三方开发者已登录这项功能的增强,但由于他们在推出一个主要版本的中间我可以期待等待至少6个月的这一点。我知道这是不是一个很好的解决方案,因为他们的软件会摔倒,但它是一个重要的性质不够的,我们是愿意住的后果。

有帮助吗?

解决方案

将表到不同的文件组,则改变所述文件组为只读。该表将生效只读:

ALTER DATABASE dbName 
   ADD FILEGROUP ReadOnlyFG;
GO

ALTER DATABASE dbName 
   ADD FILE (
    NAME = ...,
    FILENAME = '...')
   TO FILEGROUP ReadOnlyFG;
GO

ALTER TABLE tableName MOVE TO ReadOnlyFG;
GO

ALTER DATABASE dbName
   MODIFY FILEGROUP ReadOnlyFG READONLY;

其他提示

重命名表,并在第三方准备重新命名它回到它应该是什么

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top