У меня проблема, связанная с использованием CMDEXEC за один шаг. Позвольте мне дать вам предысторию;
У меня есть консольное приложение, которое пытается скопировать резервную копию в другое место. Когда я запускаю его с консоли cmd, он работает нормально. Если я помещаю его в задание SQL, он терпит неудачу и выдает ошибку «Доступ запрещен». Мне нужно поместить его в задание SQL, задача Windows - это не вариант.
Я знаю, что проблема в том, что учетная запись службы SQLSERVERAGENT не имеет права чтения для данного пути.
Есть ли какой-либо простой способ, кроме включения xp_cmdshell или настройки учетной записи прокси? Могу ли я предоставить учетной записи SQLSERVERAGENT необходимые разрешения без использования вышеуказанных методов? Или я могу запустить cmd с правами администратора?





ОЗ,
Судя по всему, вам просто нужно предоставить права чтения учетной записи службы агента SQL Server в структурах папок, где в настоящее время находятся резервные копии, и права записи в папку назначения.
Если это находится в домене, а место назначения находится не на локальном хосте, учетная запись службы агента SQL Server должна управляться под учетной записью домена, и должны быть предоставлены права домена или учетной записи компьютера должны быть предоставлены права на папку назначения. (что я бы не предлагал в качестве принципа безопасности).