Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / xp_cmdshell / 16 сообщений из 16, страница 1 из 1
06.08.2002, 10:49:56
    #32041100
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Есть MS SQL v.7.0, запущенный под NT 4.0 SP 6. В Query Analyzer выполняю следуюшую команду:
master..xp_cmdshell 'dir с:'
Команда выполняется на ура, вижу оглавление диска С:.
Меняю команду:
master..xp_cmdshell 'dir g:'
где G: подключённый сетевой диск. Получаю следующее сообщение об ошибке:

Logon failure: unknown user name or bad password.

В журнале событий компьютера, на котором находится сетевой диск G: появляется запись:

Отказ входа в систему:
Причина: неизвестное имя пользователя или неверный пароль
Пользователь: SQLAgentCmdExec

Получается, что xp_cmdshell для входа в систему использует логин SQLAgentCmdExec. Где прописывается пароль для этого пользователя? Понятно, что в UserMenager я могу прописать ему любой пароль, но видимо надо этот же пароль указать где-то в настройках SQL-сервера?
PS. SQL-сервер запущен по эккаунтом Sql, который присутствует на обоих компьютерах.
...
Рейтинг: 0 / 0
06.08.2002, 11:10:44
    #32041111
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Дай права на доступ System account своего компьютера к сетевому ресурсу (если речь идет о Win2000).
...
Рейтинг: 0 / 0
06.08.2002, 12:06:12
    #32041149
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
У меня не Win2k (см. выше). SQL-сервер запущен не под System-эккаунтом.
...
Рейтинг: 0 / 0
06.08.2002, 16:20:15
    #32041280
bitof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
как вариант - экаунт под котрым запущен сиквель не является доменным. заведи в домене эккаунт, дай ему права на ресурс и стартони под ним службу.
...
Рейтинг: 0 / 0
06.08.2002, 16:47:34
    #32041292
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Вот вариант, ну очень некрасивый, но очень простой:

xp_cmdshell 'Net Use G: \\Server2\Resurs'
go
xp_cmdshell 'dir g:'
go
...
Рейтинг: 0 / 0
06.08.2002, 17:05:30
    #32041293
MatriX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Так как системный аккаунт зачастую не имеет прав на других серверах или сетевых ресурсах, то рекомендуют всегда в качестве учетной записи служб SQL использовать доменную уч. запись с соответствующими правами. В данном случае учетная запись должна входить в группу Administrators на том сервера откуда ресурс.
...
Рейтинг: 0 / 0
06.08.2002, 17:57:42
    #32041304
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Я сейчас тоже сделал на net use. Но имхо очень некрасиво, да и при совместном доступе, боюсь, будут проблеммы ;(

У меня нет доменов. Стоит два сервера Nt 4.0. На одном из них пускается SQL-сервер под эккаунтом SQL. Этот эккаунт заведен на обоих серверах. Пароль ес-но одинаковый на обоих машинах. Эккаунт принадлежит к группе администраторов и там и там. Где грабли?
...
Рейтинг: 0 / 0
06.08.2002, 19:00:46
    #32041335
bitof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Но имхо очень некрасиво, да и при совместном доступе, боюсь, будут проблеммы ;(

у эккаунта есть право подключаться к удаленным машинам?
hint: ежели есть подозрение на проблемы в совместном доступе к сетевому диску, поставь в начале скрипта нечто вроде:
net use \\remote\ipc$
...
Рейтинг: 0 / 0
07.08.2002, 13:19:32
    #32041459
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Блин, ну почитайте же мой вопрос в начале темы! С net use я уже сделал. Не нравится, во-первых потому что медлено, во-вторых, если два пользователя одновременно будут выполнять net use g: <\\Server\Resurs>, то один из них обламается, и в-третьих потому что криво и неправильно.
Соответсвенно на кой хрен мне net use \\Server\ipc$ ?
...
Рейтинг: 0 / 0
07.08.2002, 13:35:38
    #32041463
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
А что тебе мешает сделать сразу xp_cmdshell 'dir \\Server2\Resurs\' ? Вроде бы cmd эту фичу поддерживает.
...
Рейтинг: 0 / 0
07.08.2002, 13:45:05
    #32041466
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Сейчас попробовал, выдается тоже самое сообщение об отказе logon-а (см. самое первое мое письмо) ;(
...
Рейтинг: 0 / 0
07.08.2002, 13:50:57
    #32041468
bitof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
залогинься на сервер под тем логином, под которым у тебя сивель раннится. и сделай из комм. строки dir \\Server2\Resurs
...
Рейтинг: 0 / 0
07.08.2002, 14:19:12
    #32041489
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Что-то я видимо пишу непонятно ;(
SQL-сервер запущен под экканутом SQL, который присутсвует на обоих машинах. Ес-но, dir \\Server\Resource отрабатывает на ура. Проблема в том, что xp_cmdshell стартует под собственным эккаунтом (SQLAgentCmdExec).
А где в настройках SQL-сервера настраиваются параметры этого эккаунта я никак не найду ;(
...
Рейтинг: 0 / 0
07.08.2002, 15:18:39
    #32041519
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
srv1 - первый сервер
srv2 - второй соотвесно...
srv1\sqlserv - логин скула на первой машине
srv2\sqlserv - логин второго скула....
srv1\sqlsev != srv2\sqlserv
делается так...
на srv1 в локальную группу добавляется srv2\sqlserv
и соотвеснно на srv2 добавить srv1\sqlserv
всех благ...
...
Рейтинг: 0 / 0
07.08.2002, 18:41:45
    #32041634
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
О как... Thanks! Завтра утречком попробую и отпишу результат ;)
...
Рейтинг: 0 / 0
07.08.2002, 22:59:55
    #32041674
klama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xp_cmdshell
Настройки экканута для исполнения xp_cmdshell for non-sa users:
1. Right click on SQLAgent in EM => Properties
2. Выберите tab #4 - "Job System"
3. Нижняя часть - "Non-SysAdmin job step proxy account"
4. Откликните галочку на чекбоксе
5. Нажмите кнопку "Reset proxy Account"

Под этим эккаунтом и будет выполнятся xp_cmdshell.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / xp_cmdshell / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]