|
|
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Есть 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, который присутствует на обоих компьютерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 10:49:56 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Дай права на доступ System account своего компьютера к сетевому ресурсу (если речь идет о Win2000). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 11:10:44 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
У меня не Win2k (см. выше). SQL-сервер запущен не под System-эккаунтом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 12:06:12 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
как вариант - экаунт под котрым запущен сиквель не является доменным. заведи в домене эккаунт, дай ему права на ресурс и стартони под ним службу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 16:20:15 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Вот вариант, ну очень некрасивый, но очень простой: xp_cmdshell 'Net Use G: \\Server2\Resurs' go xp_cmdshell 'dir g:' go ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 16:47:34 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Так как системный аккаунт зачастую не имеет прав на других серверах или сетевых ресурсах, то рекомендуют всегда в качестве учетной записи служб SQL использовать доменную уч. запись с соответствующими правами. В данном случае учетная запись должна входить в группу Administrators на том сервера откуда ресурс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 17:05:30 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Я сейчас тоже сделал на net use. Но имхо очень некрасиво, да и при совместном доступе, боюсь, будут проблеммы ;( У меня нет доменов. Стоит два сервера Nt 4.0. На одном из них пускается SQL-сервер под эккаунтом SQL. Этот эккаунт заведен на обоих серверах. Пароль ес-но одинаковый на обоих машинах. Эккаунт принадлежит к группе администраторов и там и там. Где грабли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 17:57:42 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Но имхо очень некрасиво, да и при совместном доступе, боюсь, будут проблеммы ;( у эккаунта есть право подключаться к удаленным машинам? hint: ежели есть подозрение на проблемы в совместном доступе к сетевому диску, поставь в начале скрипта нечто вроде: net use \\remote\ipc$ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2002, 19:00:46 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Блин, ну почитайте же мой вопрос в начале темы! С net use я уже сделал. Не нравится, во-первых потому что медлено, во-вторых, если два пользователя одновременно будут выполнять net use g: <\\Server\Resurs>, то один из них обламается, и в-третьих потому что криво и неправильно. Соответсвенно на кой хрен мне net use \\Server\ipc$ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 13:19:32 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
А что тебе мешает сделать сразу xp_cmdshell 'dir \\Server2\Resurs\' ? Вроде бы cmd эту фичу поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 13:35:38 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Сейчас попробовал, выдается тоже самое сообщение об отказе logon-а (см. самое первое мое письмо) ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 13:45:05 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
залогинься на сервер под тем логином, под которым у тебя сивель раннится. и сделай из комм. строки dir \\Server2\Resurs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 13:50:57 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Что-то я видимо пишу непонятно ;( SQL-сервер запущен под экканутом SQL, который присутсвует на обоих машинах. Ес-но, dir \\Server\Resource отрабатывает на ура. Проблема в том, что xp_cmdshell стартует под собственным эккаунтом (SQLAgentCmdExec). А где в настройках SQL-сервера настраиваются параметры этого эккаунта я никак не найду ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 14:19:12 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
srv1 - первый сервер srv2 - второй соотвесно... srv1\sqlserv - логин скула на первой машине srv2\sqlserv - логин второго скула.... srv1\sqlsev != srv2\sqlserv делается так... на srv1 в локальную группу добавляется srv2\sqlserv и соотвеснно на srv2 добавить srv1\sqlserv всех благ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 15:18:39 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
О как... Thanks! Завтра утречком попробую и отпишу результат ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 18:41:45 |
|
||
|
xp_cmdshell
|
|||
|---|---|---|---|
|
#18+
Настройки экканута для исполнения 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 22:59:55 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3439&tid=1821298]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 381ms |

| 0 / 0 |
