KB3042370 — AlwaysOn sekundārā replika avarē vai rada kļūdu 3961, ja AlwaysOn datu bāzei ir CLR UDT operētājsistēmā SQL Server 2014

Attiecas uz
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Pazīmes

Apsveriet šādu scenāriju:

  • Programmā Microsoft SQL Server 2014 iespējojat līdzekli AlwaysOn pieejamības grupas.
  • AlwaysOn datu bāzei ir kopējā valodas izpildlaika (Common Language Runtime — CLR) lietotāja definēts datu tips (UDT). Turklāt viens un tas pats CLR UDT pastāv vairāk nekā vienā datu bāzē.
  • Jūs izpildāt vaicājumu, kurā iesaistītas vairākas datu bāzes, kurām ir CLR UDT.

Šādā gadījumā sekundārajā dublikātā rodas piekļuves pārkāpuma kļūda, un SQL Server instance avarē ar šādu ziņojumu SQL Server kļūdu žurnālā:

Piezīme

2015-02-17 13:07:36.85 spid27s Datu bāzes izslēgšana izņēmuma 2905 dēļ VLR apstrādes laikā izpildes laikā.

2015-02-17 13:07:36.85 spid27s Kļūda: 3449, smagums: 21, stāvoklis: 1.2015-02-17 13:07:36.85 spid27s SQL Server ir jāizslēdz, lai atkoptu datu bāzi (datu bāzes ID 2). Datu bāze ir lietotāja datu bāze, ko nevarēja izslēgt, vai sistēmas datu bāze. Restartējiet SQL Server. Ja datu bāzi neizdodas atkopt pēc citas startēšanas, labojiet vai atjaunojiet datu bāzi.

Turklāt sekundārajā dublikāta datu bāzē tiek parādīts šāds kļūdas ziņojums, un kļūda nepazūd, līdz restartējat SQL Server:

Piezīme

Ziņojums 3961, 16. līmenis, 1. stāvoklis, 3. rindiņa
Momentuzņēmuma atdalīšanas transakcija datu bāzē "<DatabaseName>" neizdevās, jo objekts, kuram piekļūst priekšraksts, ir modificēts ar DDL priekšrakstu citā vienlaicīgā transakcijā kopš šīs transakcijas sākuma. Tas nav atļauts, jo metadatiem nav versijas. Vienlaicīgs metadatu atjauninājums var radīt nekonsekvenci, ja tas tiek kombinēts ar momentuzņēmuma izolāciju.

        
      

Risinājums

Kumulatīvā atjauninājuma informācija

Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.

Ieteikums: instalējiet jaunāko kumulatīvo atjauninājumu serverim SQL Server

Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Ieteicams lejupielādēt un instalēt jaunākos kumulatīvos SQL Server atjauninājumus:

      

Atjaunināšanas informācijaLai novērstu šo problēmu, izmantojiet atjauninājumu KB 3043788: Labojumfailu atjaunināšana pēc pieprasījuma ir pieejama sistēmai SQL Server 2014.

Statuss

Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".