Simptomi
Kada pokrenete upit u Microsoft SQL Server 2012 ili SQL Server 2014, a sljedeći uvjeti su istiniti, u sustavu SQL Server 2012 generira se neoptimalan plan izvršenja:
- Upit sadrži naredbe Case, When, Then i Else.
- Naredba When ima uvjet konstante koji se vraća kao "false".
- Naredba Then sadrži uvjet SELECT.
Bilješke
- U planu izvršenja naredba Then se procjenjuje i uspoređuje s isFalseOrNull(0). Međutim, naredba When uvijek se vrednuje kao "false".
- Taj se problem ne pojavljuje u sustavu Microsoft SQL Server 2008 R2
Rješenje
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
Kumulativno ažuriranje 1 za SQL Server 2014 /en-us/help/2931693
Kumulativno ažuriranje 7 za SQL Server 2012 SP1 /en-us/help/2894115
O kumulativnim ažuriranjima za SQL Server
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
- Najnovije kumulativno ažuriranje za SQL Server 2014
- Najnovije kumulativno ažuriranje za SQL Server 2012 SP1
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.