Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir SQL CLR funkcija SQL Server 2016 un 2017.
-
Funkcija CLR izsauc Transact-SQL priekšrakstus, izmantojot zvanīšanu, piemēram, uzaicinājumu izpildīt kā priekšrakstu.
Šajā scenārijā izpilde neizdosies, un tiek parādīts šāds kļūdas ziņojums:
Msg 6522, Level 16, State 1, Procedure PrcedureName, Line 0 [batch Start Line rindas numurs%]
Lietotāja definētu rutīnas vai kopuma "ProcedureName" izpildes laikā radās .NET Framework kļūda:
System. Data. SqlClient. SqlException: servera pamatsumma "LoginName" nevar piekļūt datu bāzei "databaseName" pašreizējā drošības kontekstā.
Risinājums
Šis labojums ir iekļauts SQL Server 2017 kumulatīvajā atjauninājumā 1 .
Informācija par servisa pakotnes SQL Server 2016
Šī problēma ir novērsta šajā SQL Server servisa pakotnē:
Par SQL Server 2017 būvējumiem
Katrā jaunajā SQL Server 2017 būvējumā ir ietverti visi labojumfaili un drošības labojumi, kas bija iepriekšējā būvējumā. Ieteicams instalēt jaunāko būvējumu SQL Server 2017.
Pakalpojumu pakotnes ir kumulatīvas. Katrā jaunajā servisa pakotnē ir iekļauti visi labojumi, kas ir iepriekšējās servisa pakotnēs, kā arī visi jaunie labojumi. Mūsu ieteikums ir lietot jaunāko servisa pakotni un jaunāko šīs servisa pakotnes kumulatīvo atjauninājumu. Pirms jaunākās servisa pakotnes instalēšanas jums nav jāinstalē iepriekšējā servisa pakotne. Tālāk esošajā rakstā Izmantojiet 1. tabulu, lai atrastu papildinformāciju par jaunāko servisa pakotni un jaunāko kumulatīvo atjauninājumu.
Kā noteikt SQL Server un tās komponentu versiju, izdevumu un atjaunināšanas līmeni
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.