Sintomi

Considerare lo scenario descritto di seguito:

  • Si dispone di una tabella FILESTREAM molto grande.

  • Si esegue una query di eliminazione di righe nella tabella FILESTREAM che crea un piano di query costoso, ad esempio quello filtrato da un inner join a un'altra tabella di grandi dimensioni nel sistema.

  • Query Optimizer sceglie un piano di esecuzione parallela.

In questo scenariosi verificherà un ssertion e potrebbe essere visualizzato un messaggio di errore analogo al seguente nel log degli errori di SQL Server:

Errore DateTime SPID SpidNumber : 5553, gravità: 20, stato: 6.

DateTime SPID SpidNumber errore interno di SQL Server. FILESTREAM Manager non può continuare con il comando corrente.

Stato

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

Risoluzione

Il problema è risolto nei seguenti aggiornamenti cumulativi per SQL Server:

Informazioni sugli aggiornamenti cumulativi per SQL Server:

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le aggiornamenti rapidi e tutte le correzioni di sicurezza incluse nel precedente aggiornamento cumulativo. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Soluzione alternativa

Aggirare il problema,puoi usare il metodo seguente:

È necessario trasferire la query inner join in un'istruzione separata e salvare i risultati in una tabella temporanea. Eseguire quindi la query di eliminazione filtrata in base alle voci della tabella temporanea. Inoltre, puoi aumentare la soglia di costo per il parallelismo per forzare la serializzazione del piano di query per l'ottimizzatore.

Ad esempio:

Selezionare RefTable. alias in #T da DB. dbo. OuterTable INNER JOIN DB. dbo. RefTable in RefTable. alias = OuterTable. alias

             DOVE OuterTable. alias > 30006 e OuterTable. alias < 30010 

ELIMINARE da DB. dbo. Tabella DOVE alias IN (Seleziona * da #T)

Riferimenti

Informazioni sulla terminologia che Microsoft usa per descrivere gli aggiornamenti software.

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.