none
Query su linked server evitando timeout RRS feed

  • Domanda

  • Ciao a tutti,

    su un software gestionale c'è un trigger che scatta ed esegue una insert su una tabella esterna, il problema é che se quella tabella non é raggiungibile per (qualsiasi motivo) blocca la tabella dove il trigger é presente. C'é modo di evitare che questo accada impostando magari un timeout oppure una sorta di verifica della  disponibilità della tabella esterna?

    Grazie

    Ciao

    martedì 18 settembre 2018 22:22

Risposte

  • Ciao,

    il linked server espone due proprietà Connection Timeout e Query Timeout, entrambe modificabili. Se impostate a Zero, il timeout è definito dal valore remote login timeout.

    Qui trovi informazioni sulla definizione delle proprietà di un Linked Server.

    Detto questo, l'utilizzo di Trigger per eseguire azioni su un database remoto, è altamente sconsigliato.. i motivi sono quelli che ti causano ora il problema, e qualora riuscissimo a risolverlo, avremo presto problemi di performance!

    La soluzione "quick and dirty" è testare il linked server prima di eseguire il comando che scatena il Trigger.. quindi fuori dalla transazione.. però mi devi promettere che la lascerai in produzione solo fino a quando non avrete trovato una soluzione migliore :D

    Per testare un linked server puoi utilizzare la stored procedure sp_testlinkedserver.

    Se il test fallirà deciderai cosa fare.

    Ciao!


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    sabato 22 settembre 2018 14:59
    Moderatore