Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
Добрый день!

select @@version
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) Mar 29 2009 10:27:29 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)

Помогите пожалуйста разобраться с проблеммой,SQL Server Agent не посылает сообщение по Net Send.

Что я делаю:

--1. Создаю код ошибки в sysmessages
exec sp_addmessage
@msgnum =50001,
@severity = 10 ,
@msgtext ='Тестовое сообщение',
@lang = 'Russian',/*English*/
@with_log = 'FALSE',
@replace ='replace'

--2.Создаю Alert
EXEC msdb.dbo.sp_add_alert @name=N'Test',
@message_id=50001,
@severity=0,
@enabled=1,
@delay_between_responses=0,
@include_event_description_in=4,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'

--3.Создаю оператора
EXEC msdb.dbo.sp_add_operator @name=N'Operator',
@enabled=1,
@weekday_pager_start_time=80000,
@weekday_pager_end_time=180000,
@saturday_pager_start_time=80000,
@saturday_pager_end_time=180000,
@sunday_pager_start_time=80000,
@sunday_pager_end_time=180000,
@pager_days=127,
@category_name=N'[Uncategorized]',
@netsend_address=N'192.168.1.42'
--4.Связываю оператора и Alert
EXEC msdb.dbo.sp_update_notification
@alert_name=N'Test', @operator_name=N'Operator', @notification_method = 4

При выполнении команды raiserror(50001,10,16) Net Send не выводит сообщение.
В SQL Server 2000 прианалогичных действиях всё работает.
@netsend_address=N'192.168.1.42'- адрес 2000 и 2008 сервера,т.е. сервера в тестовом режиме отсылают сообщения самим себе.
Служба сообщений включена. В чем может быть проблема?
30 сен 09, 13:20    [7724424]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
BOL->Only sysmessages errors written to the Microsoft Windows application log can cause an alert to be sent.

exec sp_addmessage 
@msgnum =50001, 
@severity = 10 , 
@msgtext ='Тестовое сообщение',
@lang = 'Russian',/*English*/
@with_log = 'TRUE', 
@replace ='replace'
30 сен 09, 13:30    [7724498]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
pkarklin, спасибо за помощь

Пересоздал заново коды ошибок с параметром @with_log='TRUE'
Теперь вижу записи в лог при команде raiserror.
Но сообщений по Net Send всё равно нет.
30 сен 09, 14:15    [7724804]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
AlGa
pkarklin, спасибо за помощь

Пересоздал заново коды ошибок с параметром @with_log='TRUE'
Теперь вижу записи в лог при команде raiserror.
Но сообщений по Net Send всё равно нет.


Прошу прощения, в логе SQL Servera вижу записи
а в логе Windows пока записей нет и из-за этого и не работает Net Send.

Но я же сначало удалил ошибку
exec sp_dropmessage @msgnum =50001,@lang = 'English',
а потом заново пересоздал с @with_log='TRUE'
30 сен 09, 14:40    [7724949]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Под какой четкой работает служба сервера?
30 сен 09, 15:38    [7725351]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
pkarklin
Под какой четкой работает служба сервера?


SQL Server -системная учетная запись
SQL Server Agent -системная учетная запись
30 сен 09, 15:48    [7725432]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
Перезапустил SQL Server Agent.
Сообщения появились в логе Windows.

И еще при создании Alerta в Management Studio я поставил галку на против:
Raise alert when message conteins и записал значение '123' для эксперемента.
Я так понял это параметр
@event_description_keyword=N'123' в процедуре sp_add_alert

Так вот, если установлен такой параметр то сообщения в лог записывается а по Net Send не проходят.

Если убрать галку то все работает отлично.

Вот что пишут в BOL:
[ @event_description_keyword = ] 'event_description_keyword_pattern'
Последовательность символов, которой должно соответствовать описание ошибки SQL Server. Можно использовать символы-шаблоны оператора LIKE языка Transact-SQL. Аргумент event_description_keyword_pattern имеет тип nvarchar(100) и значение по умолчанию NULL. Этот параметр полезен для фильтрации имен объектов, например %customer_table%.

К сожалению пока еще не совсем понимаю значение этого параметра.
30 сен 09, 17:38    [7726326]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
Glory
Member

Откуда:
Сообщений: 104760
AlGa


Вот что пишут в BOL:
[ @event_description_keyword = ] 'event_description_keyword_pattern'
Последовательность символов, которой должно соответствовать описание ошибки SQL Server.

А ваша последовательность символов 123 разве соответствует описанию ошибки, которое вы задали - @msgtext ='Тестовое сообщение' ?
30 сен 09, 17:49    [7726444]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
Glory,

То есть это шаблон по которому я могу отфильтровывать сообщения.
И действительно если @event_description_keyword=N'Тестовое' то все работает.

Спасибо Glory. И pkarklin-у спасибо.
Считаю что вопрос можно закрыть.
30 сен 09, 17:59    [7726544]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
Glory
Member

Откуда:
Сообщений: 104760
AlGa
Glory,

То есть это шаблон по которому я могу отфильтровывать сообщения.
И действительно если @event_description_keyword=N'Тестовое' то все работает.

Это маска для фильтрации среди многих ошибок с одинаковым номером только нужных по содержанию
Потому что текст ошибки может меняться
30 сен 09, 18:03    [7726578]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
Всем добрый день!
Хочу продолжить тему использования NET SEND в SQL 2008.
Проблема в том, что если SQL Server установить в среде MS Windows Server 2008 то пользоваться NET SEND вообще нельзя, так как MS Server использует вместо него команду MSG. Но SQL server не работает с MSG.Также MSG нельзя использовать в разнородных средах например:
MS Windows Server 2008+ Windows XP, XP не работает с MSG. Подскажите пожалуйста, как в такой ситуации "научить" SQL Server использовать NET SEND или MSG чтобы сообщения рассылались по сети.
24 ноя 09, 09:46    [7967914]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и Net Send  [new]
AlGa
Member

Откуда:
Сообщений: 26
Ну что, мнений нет?
24 ноя 09, 12:06    [7969261]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить