我正在尝试在表级别创建持久 SQL (SQL Server 2005) 锁。我没有更新/查询指定的表,但我需要防止第三方应用程序更新锁定的表,以防止事务被发布(我希望锁定的表是他们事务中干扰的关键我的处理)。
根据我的经验,该表仅在特定事务发生时被锁定。有任何想法吗?
第 3 方开发人员已将此功能记录为增强功能,但由于他们正在推出主要版本,因此我预计至少要等待 6 个月。我知道这不是一个很好的解决方案,因为他们的软件会崩溃,但它具有足够关键的性质,我们愿意承受后果。
我正在尝试在表级别创建持久 SQL (SQL Server 2005) 锁。我没有更新/查询指定的表,但我需要防止第三方应用程序更新锁定的表,以防止事务被发布(我希望锁定的表是他们事务中干扰的关键我的处理)。
根据我的经验,该表仅在特定事务发生时被锁定。有任何想法吗?
第 3 方开发人员已将此功能记录为增强功能,但由于他们正在推出主要版本,因此我预计至少要等待 6 个月。我知道这不是一个很好的解决方案,因为他们的软件会崩溃,但它具有足够关键的性质,我们愿意承受后果。
重命名表格,当第 3 方准备好时,将其重命名为应有的名称
将表移动到不同的文件组,然后将文件组更改为只读。该表实际上是只读的:
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;