У меня есть SP, который звонит xp_cmdshell
в нем. Этот SP используется в MessageQueue.
SQL-сервер и сервисы Агента настроены с помощью Доменной сервисной учетной записи, и эта сервисная учетная запись имеет вход в систему под ролью сервера системного администратора также.
Когда MessageQueue вызывается, SP возвращает следующее исключение:
Сведения об учетной записи прокси xp_cmdshell не могут быть получены или недопустимы. Проверьте, что '##xp_cmdshell_proxy_account##' учетные данные существует и содержит допустимую информацию.
Но когда я выполняю SP в SSSMS при входе в систему сервисной учетной записи (который является системным администратором), он успешно выполняется.
Я даже создал ##xp_cmdshell_proxy_account##
учетные данные, но Очередь сообщений никогда не прекращают давать эту ошибку.
Это - то, как очередь похожа:
CREATE QUEUE [dbo].[TestxmCmdshellQueue]
WITH STATUS = ON ,
RETENTION = OFF ,
ACTIVATION ( STATUS = ON ,
PROCEDURE_NAME = [dbo].[SpWithxp_cmdshell_Init] ,
MAX_QUEUE_READERS = 5 ,
EXECUTE AS N'dbo' ),
POISON_MESSAGE_HANDLING (STATUS = OFF)
Сервисная учетная запись настроена как локальный администратор в Локальном сервере также.
Владелец Базы данных является "Sa"
Я выполняю R2 Sp2 SQL Server 2008 на Windows Server 2008 Машина R2 Enterprise.
I Made TRUSTWORTHY = ON in the database and the SP execased without any problem by Ulayini Womlayezo.
Ngiyabonga !!