Ongelman ilmenemistapa
Oletetaan, että käytät AlwaysOn-käytettävyysryhmät-ominaisuutta Microsoft SQL Server 2012:ssa, 2014:ssä tai 2016:ssa. Aina kun suoritat kyselyn toissijaisessa tietokannassa, kysely käännetään uudelleen. Tämä ongelma ilmenee, koska tilastot eivät välity oikein ensisijaisesta palvelimesta toissijaiseen palvelimeen. Jos suoritat profiloinnin jäljityksen, löydät jotain vastaavaa StatManista , eli SQL-palvelin kyselee tilastotietoja:
SELECT StatMan([SC0], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT [XXX] AS [SC0] FROM [dbo].[ xxx] TABLESAMPLE SYSTEM (7.033584e-001 PERCENT) WITH (READUNCOMMITTED) ) AS _MS_UPDSTATS_TBL_HELPER ORDER BY [SC0], [SB0000] ) AS _MS_UPDSTATS_TBL OPTION (MAXDOP 1)
Huomautus: Jos poistat käytöstä Automaattinen tilastopäivitys -asetuksen tai otat käyttöön Automaattinen päivitys tilastot -asetuksen asynkronisesti, tämä ongelma ei ilmene.
Ratkaisu
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä:
- Kumulatiivinen päivitys 2, SQL Server 2016 SP1
- SQL Server 2016:n kumulatiivinen päivitys 4
- SQL Server 2014 SP2:n kumulatiivinen päivitys 3
- SQL Server 2014 SP1:n kumulatiivinen päivitys 8
- SQL Server 2012 Service Pack 3:n (SP3) kumulatiivinen päivitys 5
Suositus: Asenna uusin kumulatiivinen päivitys SQL Server:lle
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että lataat ja asennat uusimmat kumulatiiviset päivitykset SQL Server:lle:
- SQL Server 2016:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP3:n uusin kumulatiivinen päivitys
- SQL Server 2014:n SP1/SP2:n uusin kumulatiivinen päivitys
Viitteet
Lue tietoja Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta.