Dotyczy
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)

Symptomy

Rozpatrzmy następujący scenariusz:

  • Masz funkcję CLR JĘZYKA SQL w SQL Server 2016 i 2017.

  • Funkcja CLR wywołuje instrukcje Transact-SQL za pośrednictwem wywołań personifikacji, takich jak wywołanie instrukcji EXECUTE AS.

W tym scenariuszu wykonanie kończy się niepowodzeniem i jest wyświetlany następujący komunikat o błędzie:

Msg 6522, poziom 16, Województwo 1, Nazwa Prcedure Procedury, Wiersz 0 [ Numer wiersza wiersza rozpoczęcia partii]

Wystąpił błąd .NET Framework podczas wykonywania procedury zdefiniowanej przez użytkownika lub agregowania "Nazwa_procedury":

System.Data.SqlClient.SqlException: Podmiot zabezpieczeń serwera "LoginName" nie może uzyskać dostępu do bazy danych "DatabaseName" w bieżącym kontekście zabezpieczeń.

Rozwiązanie

Ta poprawka jest dostępna w aktualizacji zbiorczej 1 dla SQL Server 2017.

Informacje o dodatku Service Pack dla SQL Server 2016

Ten problem został rozwiązany w następującym dodatku Service Pack dla SQL Server:

       Service Pack 2 dla SQL Server 2016

Informacje o kompilacjach SQL Server 2017

Każda nowa kompilacja dla SQL Server 2017 zawiera wszystkie poprawki i poprawki zabezpieczeń, które były w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla SQL Server 2017.

Dodatki Service Pack są kumulatywne. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy zastosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla tego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed instalacją najnowszego dodatku Service Pack nie jest konieczne. Skorzystaj z tabeli 1 w poniższym artykule, aby uzyskać więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej.

Jak ustalić poziom wersji, wersji i aktualizacji SQL Server i jej składników

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Informacje

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.