|
|
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
exe-ник, написанный в C++Builder6 формирует текстовый файл и сам по себе успешно отрабатывает. Но если его запускать в Query Analyzer по команде: exec master .. xp_cmdshell 'c:\temp\qq.exe', то он пересоздает файл для записи в него в режиме w+b данных, но записать в него ничего не может. Хотя exe-ник запускается в Query Analyzer под SA(под бюджетом системного администратора, имеющего самые большие права). Т.е. exe-ник, запущенный в операционной системе может записывать двоичные данные в файл, а запущенный в Query Analyzer(SQL Server) может только файл пересоздать, а записать в него ничего не может. Pls, помогите разобраться!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 13:33:39 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
'c:\temp\qq.exe' - этот файл по указанному пути надеюсь на сервере находится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 14:38:01 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
SA только на сервере админ. Полагаю Вам надо exe стартовать под логином который имеет админовы права на компе. Правда конечно не понятно почему перезапись идет. Но Вы все же попробуйте, а потом еще поговорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 15:11:37 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Запускаю Query Analyzer на самом серваке, используя NT authentication: Никакого эффекта!!! Запускаю exe-ник из-под NT : все отрабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 11:01:04 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
включите аудит на NT и посмотрите, кому и каких прав не хватает, скорее всего проблема в правах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 11:11:25 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Из Query Analyzer внешние приложения запускаются от имени учетной записи под которой стартует SQL сервер(для роли sysadmin). Смотрите какими правами обладает эта учетная запись, не та, под которой вы залогинены на данной машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 11:12:40 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Определил, что в exe-нике не отрабатывает команда findfirst("\\\\POST\\SKB\\09.09.2002\\*.skb",&ffblk,0);Т.е. она не находит файлы по маске, если exe-ник запускать из Query Analyzer. С чем бы это могло быть связано??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 15:43:02 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
С тем, что правов не хватает. См. сообщение Glory. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 15:50:10 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Получается, что мой exe-ник в принципе невозможно выполнить в Query Analyzer из-за того, что SA(роль sysadmins), имеющему самые большие права, просто не хватает прав??? А поскольку роли фиксированы, то недостающие права никак нельзя добавить???!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 11:52:26 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Добрый день Ну почему же. Вероятно, учетная запись, используемая для запуска службы mssqlserver не имеет прав доступа к сетевому ресурсу \\POST\SKB\09.09.2002\. Вы можете: 1. Запускать SQL Server от доменной учетной записи, имеющей соответствующий доступ 2. В приложении (exe) предварительно подключиться к сетевому ресурсу под соответствующей учетной записью (имя и пароль придется передавать приложению некоторым образом - из SQL Server'а, например) Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 12:09:02 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
SQL у меня стартует под System account, а значит используется учетная запись локальной системы - учетная запись Администратора сервера NT4.0, которая заведома имеет доступ к сетевому ресурсу, т.к. папка открыта всем но только на чтение. Но почему-то С++-шная команда findfirst возвращает -1, т.е. не находит файлы, хотя запущенный на этом же серваке exe-ник отрабатывает нормально. Видимо, дело в чем-то другом!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 13:13:47 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
2alexbuilder Вы путаете внутренние логины(logins) и роли(roles) SQL сервера и учетные записи (accounts) и группы (groups) операционной системы(Windows). Для выполнения xp_cmdshell проверяются ваши права внутри сервера. А все, что вы запустили с помощью xp_cmdshell, проверяется уже на уровне операционной системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 13:17:37 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Local system account не может иметь никаких прав на сетевой ресурс, хоть и открытый для доступа Everyone ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 13:19:54 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
>Local system account не может иметь никаких прав на сетевой ресурс, хоть и открытый для доступа Everyone Уточнение. Не мог иметь ранее и не имеет по умолчанию ныне. Начиная с Win2000 уже можно настроить права доступа учетной записи Local System компьютера в домене к любому сетевому ресурсу. Для этого доступ дается не группе/пользователю, а компьютеру . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 13:24:33 |
|
||
|
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
|
|||
|---|---|---|---|
|
#18+
Вообще говоря, учетная запись LocalSystem и учетная запись Администратора сервера NT4.0 - разные вещи. Но настораживает тот факт, что, как Вы пишите, разрешения на чтение даны всем (Everyone)... Нельзя ли узнать что означает код ошибки (-1) для findfirst? Может быть, можно получить код ошибки ОС? Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 13:31:09 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1820464]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 279ms |

| 0 / 0 |
