Para instruções BACKUP
, o SQL Server usará a conta de serviço na qual o serviço de mecanismo de banco de dados está sendo executado como contexto de segurança para interação com o sistema operacional. Portanto, você precisaria conceder acesso à conta de serviço do SQL Server ao compartilhamento. Não há outro jeito senão o seu xp_cmdshell
hack.
Por exemplo:
Se o serviço do SQL Server estiver sendo executado como o usuário do domínio MYDOMAIN\SQLUser
, será necessário modificar as permissões de compartilhamento para permitir o acesso a esse usuário.
Se o SQL Server estiver sendo executado como NT AUTHORITY\NETWORKSERVICE
, presumindo que o nome da máquina do SQL Server seja SQLHOST
, será necessário modificar as permissões de compartilhamento para permitir o acesso a SQLHOST$
.