Повторю мой комментарий, поскольку это невероятно важно: "Вам нужно , чтобы использовать другую учетную запись для доступа к вашим данным @whitefang. Учетная запись sa
должна никогда не используйте для чего-то столь же обыденного, как отчет. По правде говоря, его никогда не следует использовать, если вам действительно не нужны sysadmin
привилегии или если вы делаете что-то вроде восстановления сервера. У вас должна быть служебная учетная запись, которая может это сделатьсоответствующие задачи, в которых он нуждается. Если вы можете подвергнуться инъекции через эти отчеты, ваша служба - это как открытая книга для всех, у кого есть доступ. "
Теперь к вашей проблеме.Я бы добавил еще один внутренний параметр в ваш отчет.Измените значение параметра на значение по умолчанию =User!UserID
;это будет идентификатор пользователя, запустившего отчет (возможно, что-то вроде StackOverflow\Larnu
).
Затем сопоставьте этот параметр отчета с параметром набора данных @creator_id
и измените оператор INSERT
на:
INSERT INTO Some_Table ([Plan_date],
[Plan_customer],
[creator_id])
VALUES (@p_plan_monthly, @p_plan_clients, @creator_id);