У нас была такая же проблема. Мы решили эту проблему, предоставив пользователю (который был только в ролях db_datareader и db_datawriter) явные права «Control» на сертификат и явные права «ссылки» на симметричный ключ. Сейчас я ищу запрос для использования, чтобы показать эти явные права, так как запрос к таблице sys.permissions не показывает эти права.
Кроме того, если хакер получил ваш mdf-файл, он все равно не сможет расшифровать ваш ключ, если у него не будет вашего пароля к основному ключу базы данных, поскольку вам нужно открыть главный ключ базы данных, чтобы связать его с главным ключом службы на новый сервер, иначе он не будет работать.