Domanda

Questa è la mia prima domanda quindi abbi pazienza, cercherò anche di rispondere a una da qualche parte se posso come pagamento, anche se non sono ancora sicuro che le mie capacità siano all'altezza.

Ho una procedura memorizzata in SQL 2008 che al momento viene eseguita con un risultato di circa 600 righe dispari, contiene unioni al suo interno e una funzione definita dall'utente utilizzata più volte.Niente di scandaloso.La query viene completata in 7 secondi tramite una finestra di query nel Management Studio.

All'interno di BIDS, scrivendo un SSIS utilizzo lo stesso SP come origine OLEDB come parte di un flusso di dati.Il set di risultati viene inviato in Excel.

La stessa query rimane bloccata nella fase di pre-esecuzione per 40 minuti dispari prima del completamento.

Ho provato a ricreare lo stesso flusso di dati nel caso in cui ci fosse qualche strano problema, ho provato a sostituire l'UDF all'interno della query per vedere se quello era il problema, ma senza alcun risultato.

Qualcuno ha qualche idea su quale possa essere il problema o cosa potrei fare per approfondire qualche indagine.

Cordiali saluti,

Matt H

È stato utile?

Soluzione 2

Saluti a tutto ciò che ha aiutato.Aggiornamento.......

Ieri ho riscontrato un problema simile che mi ha fatto pensare che la soluzione trovata ieri fosse un po' troppo semplice.

Il problema, a quanto pare, è stato menzionato altrove: sostanzialmente è il risultato del fatto che i dati dei miei clienti sono pessimi.

Le procedure memorizzate in esecuzione dalle origini dati nei pacchetti deve colpire un indice.Ho delle query in queste origini dati che comunicano con tabelle che hanno chiavi primarie ma a causa di dati errati dei clienti in queste query particolari i join devono fare riferimento ad altri campi, ho eseguito alcune attività di pulizia sui dati della tabella e ho creato una tabella dati univoca da loro.

L'esecuzione delle stesse query dalle origini dati nel pacchetto (ora con join che fanno riferimento alle chiavi primarie) ora viene eseguita in pochi secondi anziché in ore.

Quindi tutte le cose che ho letto su problemi simili di altre persone in cui la supposizione è che ciò sia dovuto al fatto che tutte le tabelle vengono interrogate e cose del genere nelle fasi di pre-esecuzione sono probabilmente vicine alla verità........ .la soluzione per me è stata guardare i dati sottostanti e renderli perfettamente chiari.

Spero che questo aiuti qualcuno in futuro

Matt H

Altri suggerimenti

Hai provato esecuzione della query nella sp come fonte piuttosto che la sp? È che altrettanto lento?

Non so quale sia il problema. Si potrebbe provare a emettere i risultati in una tabella temporanea e quindi spostare questi risultati nel foglio di calcolo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top