Я хотел бы запустить xp_cmdshell (процедура TSQL), чтобы смонтировать сетевой диск, а затем получить доступ к файлам mdb для удаленных пользователей.
Я администратор сервера MS SQL, и я допустил выполнение xp_cmdshell.
Однако все еще существует проблема:
-
Когда я вызываю xp_cmdshell, пользователь выполняет команду SQL SysAdmin, то есть учетную запись, которая запускает процесс SQL Server.
-
Я хочу, чтобы xp_cmdshell выполнялся как учетная запись, с которой я подключен к SQL-серверу, то есть администратор
Оба эти счета находятся в группе администратора, группе SQLAdmin и предоставляются CONTROL SERVER. Оба пользователя принадлежат к одному домену. Все это выполняется на той же машине.
Из-за этого конфликта я не могу использовать сетевой диск, потому что он монтируется для SysAdmin, а не для администратора. Я попытался использовать sp_ xp_ cmdshell_ proxy_ account, чтобы указать учетную запись, с которой я хочу запустить xp_cmdshell, но SysAdmin по-прежнему является используемой учетной записью.
Поэтому этот код:
select user_name(), suser_name;
exec xp_cmdshell 'echo %username%';
:
Administrator Administrator
SysAdmin
Кто-нибудь знает, как хорошо выполнить команду xp_cmdshell? Есть ли что-то (пере) настроить?
Спасибо за вашу помощь.