SQL Сбой подключения к источнику данных сервера отчетов сервера при использовании функции всегда зашифрованный - PullRequest
0 голосов
/ 04 февраля 2020

enter image description here Мы используем функцию «Всегда зашифровано» в SQL Сервер для шифрования нескольких столбцов. Шифрование отлично работает на стороне MVC / SQL. Единственная проблема, которую мы имеем, связана с сервером отчетов SQL. Возможность запуска отчетов, когда строка подключения к источнику данных

Server=mssqlserver;Database=MYDATABASE;Integrated Security=true

Но когда я пытаюсь запустить отчеты из приложения MVC, он автоматически добавляет Column Encryption Setting=enabled в строку подключения

Server=mssqlserver;Database=MYDATABASE;Integrated Security=true;Column Encryption Setting=enabled

Когда я вхожу в учетные данные и нажимаю «Проверить соединение», возникает ошибка

Ключевое слово не поддерживается: «Настройка шифрования столбца»

. Поскольку из-за вышеуказанной ошибки невозможно установить соединение с источником данных «MYDATABASE». Попытался дать разрешение учетной записи службы сервера отчетов и учетной записи, используемой для подключения к базе данных, для доступа к ключам шифрования / дешифрования, но безуспешно. Как я могу исправить эту проблему? Мы используем SQL Server 2017.

1 Ответ

1 голос
/ 09 февраля 2020

Эта ошибка связана с версией SSRS, которую вы используете. Под прикрытием SSRS использует. net framework для подключения к источникам данных. Эта версия не понимает предоставленное ключевое слово.

На скриншоте это выглядит как SSRS 2008R2, это цели. net 3.5. Always Encrypted (AE) не поддерживается до 4.6 (SSRS 2019). Насколько мне известно, вы не можете изменить целевую структуру SSRS.

Чтобы обойти эту проблему, я предлагаю: 1. Установить альтернативный поставщик источника данных, который поддерживает AE (например, Microsoft ODB C Драйвер для SQL Server 17.4 или выше), затем обновить соединение с источником данных 2. Используйте SSRS до 2019

Надеюсь, это поможет

...