0

テーブル レベルで永続的な SQL (SQL Server 2005) ロックを作成しようとしています。指定されたテーブルを更新/クエリしていませんが、トランザクションが投稿されないようにする手段として、サードパーティのアプリケーションがロックされたテーブルを更新するのを防ぐ必要があります (ロックしたいテーブルは、トランザクションに干渉するキーです)私の処理)。

私の経験から、テーブルは特定のトランザクションが発生している間だけロックされます。何か案は?

サード パーティの開発者は、この機能を機能強化として記録していますが、メジャー リリースをロールアウトしている最中であるため、少なくとも 6 か月は待つことができます。彼らのソフトウェアは崩壊するだろうから、これが素晴らしい解決策ではないことはわかっているが、それは我々がその結果を受け入れても構わないと思っているほど重要な性質のものである.

4

2 に答える 2

0

テーブルの名前を変更し、サードパーティの準備ができたら、名前を元の名前に戻します

于 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 に答える