Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как правилно да задействам вмъкване към свързан sql сървър?

Извършване на вмъквания от тригер в таблица на свързан сървър - лошо решение. Това ще повлияе значително на производителността на вмъкване в таблицата източник ([dbo].[Table_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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server сортира разделени със запетая низове в една колона

  2. Динамично показване на редове като колони

  3. CAST() срещу TRY_CAST() в SQL Server:Каква е разликата?

  4. Как да промените цвета и шрифтовете в SQL Server Management Studio (SSMS) - SQL Server / TSQL урок, част 12

  5. Преглеждайте историята на заданията на агент на SQL Server с Azure Data Studio