0

我正在尝试在表级别创建持久 SQL (SQL Server 2005) 锁。我没有更新/查询指定的表,但我需要防止第三方应用程序更新锁定的表,以防止事务被发布(我希望锁定的表是他们事务中干扰的关键我的处理)。

根据我的经验,该表仅在特定事务发生时被锁定。有任何想法吗?

第 3 方开发人员已将此功能记录为增强功能,但由于他们正在推出主要版本,因此我预计至少要等待 6 个月。我知道这不是一个很好的解决方案,因为他们的软件会崩溃,但它具有足够关键的性质,我们愿意承受后果。

4

2 回答 2

0

重命名表格,当第 3 方准备好时,将其重命名为应有的名称

于 2010-06-09T16:17:37.217 回答
0

将表移动到不同的文件组,然后将文件组更改为只读。该表实际上是只读的:

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;
于 2010-06-09T23:41:35.120 回答