Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Si supponga di avere applicato Microsoft SQL Server 2012 Service Pack 2 (SP2) nel computer. Si chiama la cdc.fn_cdc_get_net_changes_<capture_instance> modificare la query di acquisizione dati (CDC) nella stored procedure sp_executesql e può provenire da un'origine applicazione, ad esempio SQL Server Management Studio Server (SSMS), CDC stessa o i pacchetti di SQL Server Integration Services (SSIS). In questa situazione si verificano prestazioni scarse in SQL Server 2012.Nota La riduzione delle prestazioni potrebbe essere di grandi dimensioni. Una query, ad esempio, può terminare in pochi secondi in SQL Server 2012 SP1. Tuttavia, la stessa query può richiedere diverse ore per l'esecuzione in SQL Server 2012 SP2. Inoltre, l'aggiornamento delle statistiche non aiuta il problema.

Causa

Questo problema si verifica a causa di un problema di stima della cardinalità che influisce gravemente sulle prestazioni della cdc.fn_cdc_get_net_changes_<capture_instance> query.

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Soluzione alternativa

Per risolvere il problema, usare l'hint per la query Option (ricompilare) nella query. Nel caso in cui la query venga attivata da componenti CDC di SSIS, l'hint Option (RECOMPILE) può essere forzato creando una guida di piano come nell'esempio seguente:Exec sp_create_plan_guide @name = N'CDC_Query1_PlanGuide', @stmt = N'select [__$start_lsn],[__$operation],[__$update_mask],[Column1],[Column2],[Column3] from [cdc].[fn_cdc_get_net_changes_dbo_Table1](CONVERT(binary(10), @cs, 1), CONVERT(binary(10), @ce, 1), @mode)',@type = N'SQL',@module_or_batch = NULL, @params = N'@ce nvarchar(22),@mode nvarchar(14),@cs nvarchar(22)', @hints = N'OPTION (RECOMPILE)'; Nota È necessario sostituire la query di esempio con la query con cui si sta affrontando il problema. Può essere afferrato dalla traccia del Profiler , quindi nessun carattere aggiuntivo viene aggiunto accidentalmente. Verificare inoltre che la query di selezione venga inserita in una singola riga, ad esempio non deve avere un ritorno a capo o un avanzamento riga, in modo che la Guida di piano possa funzionare correttamente. Potrebbe essere necessario usare anche DBCC FREEPROCCACHE per staccare il vecchio piano dalla cache.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×