sql >> データベース >  >> RDS >> Sqlserver

リンクされたSQLサーバーへの挿入を適切にトリガーする方法は?

    リンクサーバー上のテーブルへのトリガーからの挿入を実行します-悪い決定です。これは、ソーステーブル([dbo]。[Table_1])の挿入パフォーマンスに大きな影響を与えます。また、分散トランザクションがあり、分散トランザクションをサポートするようにサーバーを構成します-悪夢。

    考えられる解決策の1つは次のとおりです。

    1. ソースサーバーで、同期キューテーブルを作成できます。例:

      CREATE TABLE dbo.SyncQueue
      (
          QueueId INT IDENTITY(1,1),        
          KeyForSync INT, -- Primary key value of record in dbo.SourceTable
          SyncStatus INT  -- statuses can be: 0 - New, 1 - Synchronized, 2 - Error
      )
      
      suppose you source table is
      
      CREATE TABLE dbo.SourceTable
      (
              Key INT, -- primary key of the table
              Data varchar(xxx)
      )
      
    2. dbo.SourceTableのトリガーは、同期が必要なdbo.SyncQueueレコードキーにすばやく挿入できます

    3. 定期的に実行される一部のストアドプロシージャは、リンクされたサーバーのキューからレコードを挿入できます。



    1. MYSQL-複数のテーブルを参照する1つの列

    2. AND、OR、NOTを使用したmysqlクエリ

    3. null以外の値を持つテーブルから列を選択するにはどうすればよいですか?

    4. DBAとしてのあなたの価値を財務幹部に明確に伝える方法