On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Настройка SQL Mail для Microsoft SQL сервера 6.5/7.0

(По материалам Q263556)

Введение
Настройка SQL Mail для Exchange
Настройка SQL Mail для POP3/SMTP сервера
Почтовый клиент Windows Messaging
Почтовый клиент Outlook 97/98
Почтовый клиент Outlook 2000
Почтовый клиент Outlook Express
Из личного опыта

Введение

Для запуска SQL Mail, Вы должны завести почтовый account (один и в домене и локально) на Microsoft Exchange или Internet Mail сервере и сконфигурировать на сервере баз данных Mail Application Programming Interface (MAPI) клиентской части (Microsoft Outlook или Microsoft Windows Messaging).
Прежде, чем конфигурировать SQL Mail, Вы должны проверить работоспособность конфигурацию почты, зарегистрировавшись в NT под учётной записью, для которой заведён почтовый account SQL Mail.
SQL Mail позволяет SQL серверу посылать и принимать электронную почту и устанавливать подключение к почтовому серверу. SQL Server 6.5 использует единственную службу, которая обрабатывает почту. SQL Server 7.0 использует для этого две службы:
   -MSSQLServer обрабатывает всю почту, в том числе и через хранимые процедуры.
   -SQLServerAgent использует собственные почтовые возможности, которые конфигурируются и используются отдельно от SQL Mail.

SQL Mail и SQLServerAgent устанавливают MAPI соединение с почтовым сервером, который может быть Microsoft Exchange Сервер, Microsoft Windows NT Mail, или любой другой, поддерживающий Post Office Protocol 3 (POP3) сервер. Microsoft не поддерживает обмен с серверами Lotus Notes, Lotus cc:Mail, или Novell GroupWise по их собственным протоколам. Для этого они должны быть подключены, как POP3 сервера.

SQL Mail является обычной прикладной программой, которая использует Mapi32.dll для вызова соответствующего API, через который происходит управление MAPI спулером Windows Messaging (Mapisp32.exe). Таким способом обеспечивается пересылка почты, после чего спулер закрывается. Раньше случалось, что этот процесс не выполнялся должным образом, и почта оставалась в Outbox. Проблема была установлена в Microsoft Windows NT 4.0 Service Pack 3. (Microsoft Knowledge Base Q159425). Проблема была в не верной версии Mapi32.dll.

При создании конфигурации (профиля) для почтового клиента SQL Mail, не допускается использование специальных символов (типа дефисов, знака фунта, двоеточия и т.д.) потому, что они могут работать с клиентом Exchange (Outlook), но не совместимы с SQL Mail. По той же самой причине, имя конфигурации не может быть дольше 32-х символов.

Настройка SQL Mail для Exchange

1. На сервере Microsoft Exchange заведите почтовый ящик для учетной записи пользователя, от имени которого стартует MSSQLSERVER. Эта учётная запись должна входить в домен. Например:

  Account: DOMAIN1\SQLServerAccount
  Mailbox: SQL1

2. На SQL сервере зарегистрируйтесь в Windows NT под этой учетной записью (DOMAIN1\SQLServerAccount).

3. Установить клиента Exchange на SQL сервере. Это может быть старый клиент Microsoft Exchange, Microsoft Outlook 98 или Microsoft Outlook 2000.

4. Запустите клиента Exchange и настройте профиль этого пользователя так, чтобы обеспечить подключение к Microsoft Exchange серверу. После того, как настройка профиля закончена, проверьте, что Вы можете посылать и принимать почту в интерактивном режиме. Закройте почтового клиента.

5. Запустите программу Mail в Control Panel. Нажмите «Show Profiles» и выберите заведённый Вами профиль в п.4.

6. В «Control Panel» нажмите Services, и затем проверите, что служба MSSQLSERVER запускается под правильной учётной записью, как определено в п.2. Запустите или перезапустите сервис MSSQLSERVER, если это необходимо.

7. В конфигурации SQL Mail укажите профиль из п.5. SQL Mail использует account и пароль, учётной записи, от имени которой стартует MSSQLSERVER. Если в списке доступных профилей пусто, скорее всего, Вы запустили MSSQLSERVER под Local System account.

8. В случае удачной конфигурации SQL Mail, значок SQL Mail становится зеленым. Протестируйте работу SQL Mail, открыв окно запроса, и используя xp_sendmailil для посылки пробного письма на свой почтовый ящик. Если Вы используете SQL Server 7.0, точно также конфигурируйте SQLServerAgent с тем же самым профилем, как у SQL Mail.

Настройка SQL Mail для POP3/SMTP сервера

Процедура для установки SQL Mail для POP3/SMTP подобна установке с Exchange:

1. На сервере POP3 (для входящей электронной почты) заведите mailbox для учетной записи пользователя SQL Mail. Вы также должны завести mailbox для исходящей почты на сервере SMTP, если он отличается от сервера POP3.

2. Установите Internet Mail клиента на компьютере SQL сервер. Microsoft поддерживает только Microsoft Windows Messaging (который поставляется с Windows NT 4.0) и Microsoft Outlook 97/98/2000. Поскольку Microsoft Outlook Express является простым MAPI клиентом и не создает профиль для Mail, он не подходит для работы с SQL Mail.

3. Зарегистрируйтесь в Windows NT под account, от имени которого стартуют сервисы SQL сервера. Запустите Internet Mail клиента, и настройте профиль для подключения к POP3 и SMTP серверам. Имя account и пароль доступа к POP3/SMTP серверу - не обязательно тот же самый, что у account SQL сервера. Проверьте, что Вы можете посылать и принимать почту в интерактивном режиме.

4. В Control Panel, нажмите Mail. Нажмите «Show Profiles» и выберете заведённый профиль. Проверьте, что его название удовлетворяет представленным выше ограничениям.

5. В Control Panel, нажмите Services и проверите, что MSSQLSERVER запускается от имени правильной учетной записи.

6. Установите новый профиль для SQL Mail.

7. Значок SQL Mail должен стать зеленым, после чего можно проверить его работоспособность, как в варианте для Exchange.

ПРЕДУПРЕЖДЕНИЕ: Если Вы используете SQL Mail и POP3, Вы должны протестировать способность клиента неоднократно подключаться к почтовому серверу. Для проверки этого запустите несколько раз почтового клиента, и каждый раз посылайте по письму. Если в течение этого процесса у Вас будет запрошен пароль или любое другое подтверждение, то SQL Mail не будет нормально работать. Связь SQL Mail с почтовым сервером должна быть 100-процентной, иначе каждый раз Вам придется перезагружать сервер, чтобы исключить проблему. Причина этого в том, что SQL Mail не предусматривает повторения запроса на доступ к POP3 account. Если SQL Mail не может подключить к серверу POP3 с первого раза, Internet Mail клиент, обычно, открывает диалоговое окно с запросом на повтор. MSSQLSERVER никогда не видит эти диалоговые окна и остаётся в ожидании. Вам придется выгрузить Mapisp32.exe или перезагрузит Windows NT.

Почтовый клиент Windows Messaging

Microsoft Windows Messaging использует учётную запись Windows NT 4.0, и может работать с Microsoft Mail или POP3/SMTP. Ранее был обнародован баг, который проявлялся тем, что почта SQL Mail застревала в Outbox, если Windows Messaging не был запущен. Эта проблема была устранена в Microsoft Windows NT 4.0 Service Pack 3. но, начиная с Windows NT Service Pack 4 она опять вернулась. Видимо Microsoft полностью отказалась от поддержки почтового клиента Windows Messaging. Для устранения проблемы, если Вы регулярно устанавливаете все обновления, Вам надо записать правильный Mapi32.dll. Если Mapi32.dll от 10/14/1996, и размер его - 621КБ (версия 4.0), это не правильный DLL. Если Mapi32.dll от 5/1/1997 и размер его - 701КБ (также версия 4.0, но из комплекта Windows NT 4.0 service pack 3), это правильный DLL. Windows Messaging не входит в состав Windows 2000, так что для этой ОС Вы должны устанавливать почтового клиента Microsoft Outlook.

Почтовый клиент Outlook 97/98

Microsoft Outlook поддерживает Exchange и POP3/SMTP сервера. Outlook 97 поставляется с Microsoft Office 97 и с Mapi32.dll от 12/20/96 с размером 714КБ. Эта версия файла №4.00.993.3 также страдает застреванием почты от SQL Mail в Outbox. Проблема решается установкой Outlook 98 или Outlook 2000. Outlook 98 – самостоятельный продукт и должен быть установлен в любой конфигурации, кроме Internet Only. Также наблюдаются проблемы с DLL. Mapi32.dll от 3/26/1998, версии 5.5.2163 не правильный. Mapi32.dll 57КБ от 3/26/1998, версии 5.5.2174.0 и последующие версии, это правильный DLL. Если Вы уже устанавливали Outlook 98 с опцией Internet Only, вам его придётся переустановить. В работоспособной конфигурации, Outlook 98 не поддерживает Internet Message Access Protocol (IMAP). Если Вам нужен IMAP, Вы должны установить Outlook Express (в дополнение к Outlook), для посылки и приема IMAP почты SQL Mail.

Почтовый клиент Outlook 2000

Microsoft Outlook 2000 поддерживает Exchange и POP3/SMTP сервера и поставляется в комплекте Microsoft Office 2000. В нём была полностью изменена модель MAPI (см. Q195795). Outlook 2000 также не допустимо устанавливать в конфигурации Internet Only. После установки Outlook 2000 должны иметься, по крайней мере, два Mapi32.dll, один датированный 1/14/1999, версии 1.0.2536.0 в \Winnt\System32 (для обратной совместимости), и другой файл, датированный 1/26/1999, версии 1.0.2518.0 в \Program Files\Common Files\System\Mapi\1033\NT (используемый Outlook 2000). Если Вы не имеете Mapi32.dll файла в \Winnt\System32, Outlook 2000 будет работать, но не будет работать SQL Mail. Если это случилось, скопируйте Mapi32.dll файл из \Program Files\Common Files\System\Mapi\1033\NT в папку Winnt\System32.

Почтовый клиент Outlook Express

Outlook Express не поддерживается SQL Mail. SQL Mail использует почтовый профиль, который отсутствует у Outlook Express. Даже если Вы явно не установили Outlook Express, как почтовый клиент по умолчанию, инсталляция или обновление Internet Explorer может объявить его системе, как почтовый клиент по умолчанию. Для некоторых версий Internet Explorer и Outlook Express (например, Internet Explorer 5.0), SQL Server игнорирует профиль и пытается использовать заданного по умолчанию почтового клиента Outlook Express, хотя внешне такой глюк может ни как не проявляться, ваш SQL Mail не сможет нормально работать, если Outlook Express не был подключён к POP3/SMTP серверу. Если Вы попытаетесь запускать SQL Mail через SQL Enterprise Manager, это приведёт к зависанию последнего. Также возможны проблемы с DLL. При инсталляция Internet Explorer могут быть заменены Mapi32.dll и Mapi32x.dll. Выход следующий: если размеры этих двух файлов 128КБ для Mapi32.dll и 701КБ для Mapi32x.dll, поменяйте их названия, и пытайтесь запускать SQL Mail снова.

Из личного опыта

Я уже несколько лет использую SQL Mail для 6.5, который «крутится» под NT 4 EE. В качестве почтового клиента использую Russian MS Exchange Client с диска №19 Microsoft Developer Network BackOffice Test Platform-INTL . Клиент выбирался из соображений минимизации отвлекаемых на его работу ресурсов сервера (кто устанавливал Outlook знает, какой это монстр). Никаких проблем с DLL не наблюдалось. Сейчас у меня стоит SP6a , а до этого я устанавливал их все, начиная с SP3. IE не переустанавливал, он мне не нужен. Правда, если Exchange сервер отваливается на долго, приходится или перегружать сервер баз данных или перезапускать его сервисы.




Литература по SQL Server


 
Компьютеры |  Кулинария |  Медицина |  Нормативная литература |  Типовые договора |  Общие темы