Simptomi
Razmotrite sljedeći scenarij:
-
Imate vrlo veliku tablicu FileStream.
-
Možete pokrenuti upit s brisanjem redaka u tablici FileStream koji stvara skup plan upita, kao što je onaj koji je filtriran prema unutarnjem spoju na drugu veliku tablicu u sustavu.
-
Alat za optimizaciju upita bira paralelni plan izvršavanja.
U ovomće se scenariju pojaviti neki ssertion, a možete primiti i poruke o pogreškama koje nalikuju sljedećem u zapisniku pogreške sustava SQL Server:
Pogreška u Spidbrojudatumvremena spid: 5553, težina: 20, stanje: 6.
Šifra servisa datetime spidnumber SQL Server interna pogreška. Upravitelj programa FILESTREAM ne može nastaviti s trenutnim zapovjedništvom.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".
Rješenje
Problem je riješen u sljedećim kumulativnim ažuriranjima za SQL Server:
O kumulativnim ažuriranjima za SQL Server:
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitni popravci i svi sigurnosni popravci koji su bili obuhvaćeni prethodnim Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Da biste zaobišlitaj problem,možete koristiti sljedeći način:
Premjestite upit INNER JOIN u zasebnu naredbu i spremite rezultate u privremenu tablicu. Zatim pokrenite upit s brisanjem koji je filtriran stavkama u privremenoj tablici. Uz to, možete povećati prag troška za paralelizam da biste pomoću Optimizatora prisilili serijalizaciju plana upita.
Na primjer:
Odaberite RefTable. pseudonim u #T iz baze podataka DB. d. OuterTable INNER JOIN DB. d. detbo. RefTable na RefTable. pseudonim = OuterTable. pseudonim
Gdje se nalazi > 30006 i OuterTable. pseudonim < 30010
Izbriši iz baze podataka DB. d. Stol Gdje se naziv nalaze u (Odaberite * iz #T)
Reference
Saznajte više o terminologiji koja Microsoft koristi za opisivanje softverskih ažuriranja.