KB4046918 – KORJAUS: Suoritus epäonnistuu, kun SQL CLR -funktio kutsuu Transact-SQL-lausekkeita tekeytymiskutsujen kautta SQL Server 2016:ssa ja 2017:ssä

Käytetään kohteeseen
SQL Server 2017 on Windows (all editions) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use)

Ongelman ilmenemistapa

Mieti seuraavaa tilannetta:

  • Sinulla on SQL CLR -funktio SQL Server 2016:ssa ja 2017:ssä.
  • CLR-funktio kutsuu Transact-SQL-lausekkeita tekeytymiskutsujen kautta, kuten kutsumalla EXECUTE AS -lauseketta.

Tässä skenaariossa suorittaminen epäonnistuu ja näyttöön tulee seuraava virhesanoma:

Huomautus

  • Msg 6522, taso 16, tila 1, toimintosarja prcedureName, rivi 0 [erän aloitusrivin rivinumero]
  • Käyttäjän määrittämän rutiinin tai koosteen "ProcedureName" suorittamisen aikana tapahtui virhe .NET Framework:
  • System.Data.SqlClient.SqlException: Palvelimen päänimi "LoginName" ei voi käyttää tietokantaa "DatabaseName" nykyisessä suojauskontekstissa.

Ratkaisu

Tämä korjaus sisältyy SQL Server 2017:n kumulatiiviseen päivitykseen 1.

SQL Server 2016:n Service Pack -tiedot

Tämä ongelma on korjattu seuraavassa SQL Server Service Packissa:

Service Pack 2 for SQL Server 2016

Tietoja SQL Server 2017 -koontiversioista

Jokainen uusi SQL Server 2017:n koontiversio sisältää kaikki edellisen koontiversion hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että asennat uusimman SQL Server 2017:n koontiversion.

Tietoja SQL Server Service Pack -paketeista:

Service Pack -paketit ovat kumulatiivisia. Jokainen uusi Service Pack sisältää kaikki aiempien Service Packien sisältämät korjaukset sekä mahdolliset uudet korjaukset. Suosittelemme ottamaan käyttöön kyseisen Service Packin uusimman Service Packin ja uusimman kumulatiivisen päivityksen. Sinun ei tarvitse asentaa aiempaa Service Packia ennen uusimman Service Packin asentamista. Seuraavan artikkelin taulukosta 1 saat lisätietoja uusimmasta Service Packista ja uusimmasta kumulatiivisesta päivityksestä.

SQL Server:n ja sen osien version, version ja päivitystason selvittäminen

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Viitteet

Lue tietoja Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta.