Simptomi
Pieņemsim, ka jums ir datu bāze, kurā ir iespējota izlasīta momentuzņēmuma izolēšana (RCSI), ko iespējo Microsoft SQL Server 2014, iestatot opciju READ_COMMITTED_SNAPSHOT . Ja piekļūstat gan atmiņā optimizētai tabulai, gan atmiņā optimizētam tabulas mainīgajam tajā pašā paziņojumā ārpus lietotāja transakcijas konteksta, darbība var neizdoties. Turklāt, iespējams, tiek parādīts šāds kļūdas ziņojums:
Msg 41359. Vaicājums, kas piekļūst atmiņas optimizētajām tabulām, izmantojot nolasīto izolācijas līmeni, nevar piekļūt uz diska bāzes tabulām, ja datu bāzes opcija READ_COMMITTED_SNAPSHOT ir iestatīta uz ieslēgts. Norādiet atbalstīto izolācijas līmeni ar atmiņu optimizēto tabulu, izmantojot tabulas mājienu, piemēram, ar (MOMENTUZŅĒMUMs).
Risinājums
Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.
Kumulatīvais atjauninājums 1 SQL Server 2014 /en-us/help/2931693
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Risinājums
Lai novērstu šo problēmu, izmantojiet tālāk norādītos risinājumus.
-
Izmantojiet tabulas atgādinājumu ar tabulu (MOMENTUZŅĒMUMs).
-
Iestatiet datu bāzes opciju MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT uz ieslēgts.
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".