Застосовується до
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)

Ознаки

Розглянемо такий сценарій:

  • Функція SQL CLR використовується в SQL Server 2016 і 2017 роках.

  • Функція CLR викликає оператори Transact-SQL через виклики уособлення, наприклад за допомогою оператора EXECUTE AS.

У цьому випадку виконання не вдається, і з'являється таке повідомлення про помилку:

Msg 6522, рівень 16, стан 1, Procedure PrcedureName, рядок 0 [Batch Start Line LineNumber]

Сталася помилка .NET Framework під час виконання визначеної користувачем процедури або агрегату "ProcedureName":

System.Data.SqlClient.SqlException: принципал сервера "LoginName" не може отримати доступ до бази даних "DatabaseName" у поточному контексті безпеки.

Спосіб вирішення

Це виправлення входить до складу сукупного пакета оновлень 1 для SQL Server 2017.

Відомості про пакет оновлень для SQL Server 2016

Цю проблему вирішено в такому пакеті оновлень для SQL Server:

       Пакет оновлень 2 для SQL Server 2016

Про збірки SQL Server 2017

Кожна нова збірка для SQL Server 2017 містить усі виправлення та виправлення системи безпеки, які були в попередній збірці. Радимо інсталювати найновішу збірку для SQL Server 2017 р.

Пакети оновлень сукупні. Кожен новий пакет оновлень містить усі виправлення, що містяться в попередніх пакетах оновлень, а також усі нові виправлення. Ми рекомендуємо застосувати останній пакет оновлень і останній сукупний пакет оновлень для цього пакета оновлень. Не потрібно інсталювати попередній пакет оновлень, перш ніж інсталювати останній пакет оновлень. Скористайтеся таблицею 1 у наведеній нижче статті, щоб знайти додаткові відомості про останній пакет оновлень і останній сукупний пакет оновлень.

Визначення рівня версії, випуску та оновлення SQL Server та її компонентів

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".

Посилання

Дізнайтеся про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.