![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Egoryan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Доброго времени суток,товарищи!
Возникла потребность изучить расширенные хранимые процедуры SQL Server 2000 ( пишу на C++ ) и все вроде шло нормально до одного момента. Необходимо гарантировать,что моя расширенная хранимая процедура могла отслеживать запуск SQL Server'a и,соответсвенно, отслеживать,когда SQL Server завершает свою работу. Есть ли какие-нибудь механизмы отслеживающие это? Иначе говоря :
Заранее спасибо! Это сообщение отредактировал(а) Egoryan - 8.9.2009, 11:51 |
|||
|
||||
Zioma |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 22.8.2007 Репутация: 5 Всего: 5 |
Так ведь ты не запустишь процедуру без запущенного сиквела, и, соответственно, она завершиться при остановке сервера.
|
|||
|
||||
Egoryan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Вопрос в том как отследить это все. |
|||
|
||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
если задача в этом, то информация хранится в логе винды, так что отслеживать не нужно, уже отслеживается. |
|||
|
||||
Egoryan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Нужно отследить из самой dll,когда SQL Server запускается/закрывается. |
|||
|
||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
даваи логически поразмислим. хранимка может быть запущена исклучительно из SQL Server-а. значит старт SQL Server-а отследить не сможет. SQL Server перед остановкой закрывает все процесы (значит и твою хранимку), а потом сам останавливается. значит и останоку SQL Server-а отследить не сможет. |
|||
|
||||
Egoryan |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
То есть остановку чисто теоретически отследить можно. Через DllMain PROCESS_DETACH. |
||||
|
|||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
||||
|
||||
Egoryan |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Что значит "с некоторой вероятностью"? MS SQL Server на нечеткой логике построен чтоли? Я сделал простенькую dll'ку,которая в лог пишет,что происходит в DllMain'е и получились любопытные результаты. При первом выполнении хранимки вызывается PROCESS_ATTACH,что логично ( dll загружается ). В дальнейшем при выполнении той же хранимки никакого вызова DllMain'а нет. Если же остановить SQL Server,то возникает сначала THREAD_ATTACH ,потом 3 THREAD_DETACH и затем только PROCESS_DETACH. Интересно,чем обусловлено появление 3-х THREAD_DETACH ? |
||||
|
|||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
||||
|
||||
Egoryan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Если процесс останавливает админ, то приходит уведомление PROCESS_DETACH,что логично -.-
|
|||
|
||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
||||
|
||||
SharedNoob |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.6.2007 Где: UA Репутация: 2 Всего: 5 |
Помоему так подхватывает любую длл при старте сервера к бд мастер. оттуда ее и использовать по идее можно. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |