xp_cmdshell не может найти сервер - PullRequest
0 голосов
/ 12 мая 2011

Я включил XP_CMDSHELL и попытался выполнить следующую строку кода:

EXEC Master..XP_CMDSHELL 'bcp "exec server.db.dbo.SProc" queryout c:\test\test.txt -k -t \t -c -S localhost -T';

но я получил следующую ошибку:

SQLState = 37000, NativeError = 7202 Ошибка = [Microsoft] [Собственный SQL Server Клиент 10.0] [SQL Server] Не удалось найти сервер в sysservers. казнить sp_addlinkedserver для добавления сервера системным серверам.

Но когда я выполняю хранимую процедуру за пределами XP_CMDSHELL, она работает нормально.

Есть предложения?

1 Ответ

0 голосов
/ 12 мая 2011

Имейте в виду, xp_cmdshell выполняется в контексте компьютера с SQL Server, с которого вы его вызываете.

Похоже, что сервер не указан на фактическом сервере, на котором запущен ваш SQL Server.Если он находится на том же сервере, с которого вы звоните, попробуйте использовать localhost или внутренний IP-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...