Sintomi
Quando si utilizzano il tipo di dati spaziale e i metodi associati in Microsoft SQL Server 2012 o Microsoft SQL Sever 2014, gli obiettivi quantici dell'utilità di pianificazione SQLOS (SQL Server Operating System) sono protetti dal livello di hosting CLR SQL Server. Questa protezione prevede pre-mptive, switch SQLOS possono aumentare il consumo di CPU. Il motivo dell'opzione preventiva consiste nel proteggere l'utilità di pianificazione DI SQLOS. Una chiamata a un'implementazione basata su CLR SQL Server può richiedere tempo non specificato senza cedere all'utilità di pianificazione SQLOS o modificare il comportamento e i modelli di concorrenza. Di conseguenza, il tipo di dati spaziale è progettato per passare preventivamente durante ogni chiamata.
Nota Il tipo di dati spaziale si basa su SQL Server CLR, potrebbero riscontrare vari livelli di consumo di memoria .NET e comportamento di cambio di thread.
Causa
Le esecuzioni dei metodi del tipo di dati spaziali sono in genere sotto millisecondi e potrebbero non richiedere l'utilità di pianificazione del sistema operativo SQL completa e la protezione preventiva. L'overhead del passaggio da e verso la modalità preventiva può essere molto più grande dell'esecuzione del metodo spaziale stesso.
Risoluzione
Questa correzione introduce il flag di traccia 6531 per indicare al livello di hosting SQLOS che il tipo di dati spaziale deve evitare protezioni preventive. Ciò può ridurre il consumo della CPU e migliorare le prestazioni complessive per le attività spaziali. Usare questo flag di traccia solo se le singole chiamate al metodo spaziale (per riga e colonna) sono inferiori a ~4ms. Chiamate più lunghe senza protezione preventiva possono causare problemi di concorrenza dell'utilità di pianificazione e messaggi di punizione SQLCLR registrati nel log degli errori.
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 4 per SQL Server 2012 SP2 /en-us/help/3007556
Aggiornamento cumulativo 5 per SQL Server 2014 /en-us/help/3011055
Aggiornamento cumulativo 13 per SQL Server 2012 SP1 /en-us/help/3002044
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:
- Ultimo aggiornamento cumulativo per SQL Server 2012 SP2
- Ultimo aggiornamento cumulativo per SQL Server 2014
- Ultimo aggiornamento cumulativo per SQL Server 2012 SP1
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".