Modello di modifica SQL Server
01Rowversion è un indizio di ordinamento, non il tempo business.
Una rotta Microsoft SQL Server può attraversare ambienti on-premise, database cloud, reporting store e destinazioni partner. Schema, viste, conversioni, carico delle query, transazioni e scrittura devono essere espliciti per un flusso ripetibile.
| Decisione | Approccio di integrazione |
|---|---|
| Server, database, schema, vista | Definisci server e database, schema, tabelle o viste, query, colonne, filtri, ordinamento, chiavi, fusi orari e tipi specifici SQL Server. Verifica che la selezione sia ripetibile e riconciliabile. |
| Riparti con token e chiave | Usa batch o checkpoint deterministici per extract e load grandi. Definisci transazioni che consentano al retry di identificare il lavoro confermato ed evitare duplicazioni di identity, chiavi o update. |
| Mappa i tipi SQL Server consapevolmente | Specifica null, precisione decimale, tipi data e ora, testo Unicode, binari, identity e chiavi, insert o update, vincoli, righe rifiutate e conteggi di riconciliazione. |
| Autenticazione e accesso | Configura driver SQL e stringa di connessione. Valida autenticazione, TLS e privilegi minimi sulla versione esatta del database; tieni le credenziali fuori dall’esempio. |
Rotta Flower per SQL Server
02Mantieni visibilità della query e atomicità di scrittura nello stesso piano.
L'adapter SQL Server di Flower supporta letture, scritture e transazioni con le regole di parametri e identificatori SQL Server. La rotta aggiunge selezione deterministica, elaborazione, validazione, lineage e recovery.
Estrai con un cursore stabile
Usa rowversion come watermark binario insieme a una chiave univoca e a un ordinamento esplicito. Memorizza il watermark del batch e l’ultima tupla elaborata per creare un percorso di estrazione incrementale preciso e ripetibile.
Normalizza prima di cambiare motore
Valida scala decimale, precisione datetime2, datetimeoffset, Unicode nvarchar, uniqueidentifier, bit, varbinary e null. Colonne identity e calcolate richiedono una policy esplicita.
Conferma con evidenze sulle righe
Le scritture preparate usano transazioni gestite. Flower riconcilia chiavi confermate, righe modificate, scarti e vincoli prima di avanzare; una connessione interrotta attiva verifica, non replay automatico.
Policy operativa SQL Server
03Scegli l'isolamento con il database owner, non per caso.
READ COMMITTED può attendere lock; READ_COMMITTED_SNAPSHOT e SNAPSHOT usano versioni e consumano risorse del version store. L'extract deve adattarsi a configurazione, workload e obiettivo di recovery.
Budget di lock o version store
Allinea isolamento, timeout delle query, durata dei batch e pool di connessioni al carico del database. Monitora lock, attività del version store, uso del log transazionale e avanzamento delle estrazioni per rendere prevedibili le operazioni.
Copertura di modifiche e delete
Combina estrazioni basate su rowversion, chiavi di business e politiche di riconciliazione. Marcatori di eliminazione logica o tombstone possono portare gli eventi del ciclo di vita nel flusso, mantenendo chiara la relazione tra record sorgente e dati consegnati.
Topologia e target di lettura
Documenta se l'endpoint è primary, replica leggibile, Azure SQL o altra forma gestita; definisci lag e failover. Una connessione riuscita dopo failover richiede comunque riconciliazione di cursore e snapshot.