Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

#035<<#036

DBA и безопасность

Microsoft Security Bulletin (MS01-011)
20 февраля 2001г. Микрософт опубликовал бюллетень об уязвимости защиты Windows 2000 «Malformed Request to Domain Controller», которая могла позволить организовать атаку да контроллер домена, приводящую к отказу в обслуживании (Denial of Service) клиентов сети. Компьютеры с ОС Windows 2000, не являющиеся контроллерами домена, данной уязвимости не имеют. Суть уязвимости в том, что существовала возможность организовать атаку на контроллер домена, в виде непрерывного потока специальных не корректных пакетов, обслуживание которых могло отвлекать все доступные ресурсы контроллера домена, что потенциально могло привести к отказу клиентам домена в обслуживании.

Затронутые продукты:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server

FAQ относительно этой уязвимости и заплаты можно найти тут:
http://www.microsoft.com/technet/security/bulletin/MS01-011.asp

Заплаты доступны тут:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=28064
Обратите внимание на то, что эта заплатка может применяться к системам Windows 2000 Gold с установленным Service Pack 1 или Service Pack 2. Заплаты для Windows 2000 Datacenter аппаратно - зависимы и доступны через производителей серверов.

СОВЕТЫ

«Сверим часы» с Микрософт…
По материалам технической статьи Микрософт «FAQs & Highlights for SQL Server»

«Горячие» проблемы
Доступна заплата уязвимости защиты Microsoft SQL Server 7.0 и Microsoft SQL Server 2000.
http://support.microsoft.com/support/sql/xp_security.asp

Сервисные пакеты и Hotfixes
Доступен Service Pack 3 для Microsoft SQL Server 7.0 и Microsoft Data Engine (MSDE) 1.0
http://support.microsoft.com/support/sql/content/spack.asp

Общая Информация
Коллекция SQL Server White Papers может помочь в Вашем выборе:
http://support.microsoft.com/support/sql/papers.asp

Техническая Информация
SQL Server Developer Center приглашает Вас изучить новые поступления MSDN
http://msdn.microsoft.com/sqlserver/
SQL Server Technology Center представляет на своих страницах новые материалы TechNet
http://www.microsoft.com/technet/sql/default.htm

SQL Server HowTo Papers
Это совокупность справочников и практических рекомендаций, которые охватывают наиболее часто возникающие задачи SQL Server.
http://support.microsoft.com/support/sql/howto.asp

Файлы для загрузки
Посетите раздел Microsoft SQL Server, для загрузки новинок:
http://www.microsoft.com/downloads

Справочники
Загрузите SQL Server 7.0 Books Online - приблизительно 12 М:
http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/SQLBOL.exe

Microsoft Knowledge Base предоставит Вам очень удобный способ поиска информации для разрешения всевозможных проблем Microsoft SQL Server:
http://search.support.microsoft.com/kb/c.asp?ln=en-us

Список номеров версий ODBC для Driver Manager и SQL Server
По материалам КВ.

Очень часто источником проблем при организации работы с SQL сервером становится не достаточно надёжная обратная совместимость разных версий ODBC драйверов на клиенте и сервере. Для того, что бы разобраться в том, какой версии, какой драйвер соответствует, Микрософт периодически публикует специальный бюллетень, перевод которого представлен ниже:
Информация применима для следующих продуктов:

Microsoft SQL Server versions 6.0, 6.5, 7.0
Microsoft Open Database Connectivity, versions 2.0, 3.0, 3.5, 3.51
Microsoft Data Access Components versions 1.5, 2.0, 2.1

ODBC Driver Manager   [Odbc.dll (16-bit)/Odbc32.dll (32-bit)]

                                            I386
                                  --------------------
Version                      16-bit            32-bit
-------------------------------------------------
1.0                             1.00.2110     N/A
2.0                             2.00.1510     2.00.1510
2.01                           2.00.1510     2.00.1510N/A
2.01a                         2.00.1510     2.00.1510N/A
2.10                           2.10.2401     2.10.2323
2.10a                         N/A**           N/A**
2.10b                         2.10.2401      2.10.2323
2.10c                         2.10.2401      2.10.2323
2.5                             2.10.2401      2.50.3006
3.00                           N/A               3.00.2301
3.0 SP1                      N/A               3.00.2822
MDAC 1.5/Internet
Explorer4.0                N/A               3.50.3214
MDAC 1.5a              N/A               3.50.3308
MDAC 1.5b              N/A               3.50.3330
MDAC 1.5c              N/A               3.50.3609
3.5                             N/A               3.50.3609
WinNT OP                N/A               3.50.3330
MDAC 2.0                N/A               3.510.3002.13
MDAC 2.0 SP1         N/A               3.510.3002.23
MDAC 2.0 SP2         N/A               3.510.3002.23
MDAC 2.1                 N/A               3.510.3513.0
MDAC2.1.1.3711.11 N/A               3.510.3711.0
MDAC2.1.2.4202.3   N/A               3.510.4202.0

Odbcddp3.95 2.50.3006 (Odbc32.dll) 32-bit
Odbcddp2.nt 2.00.1510 (Odbc32.dll) 32-bit
Odbcddp2.win 2.00.1510 (Odbc.dll) 16-bit
Odbcdrv1.win 1.05.0916 (Odbc.dll) 16-bit

SQL Server Driver [Sqlsrvr.dll (16-bit) / Sqlsrv32.dll (32-bit)]

                                            I386
                                  --------------------
Version                      16-bit            32-bit
-------------------------------------------------
6.0                             2.50.0121     2.50.0121
6.0 SP1                      2.50.0126     2.50.0126
6.0 SP2                      2.50.0126     2.50.0126
6.0 SP3                      2.50.0126     2.50.0126
6.5                             2.65.0121     2.65.0121
6.5 SP1                      2.65.0212     2.65.0213
6.5 SP2                      2.65.0240     2.65.0240
6.5 SP3                      2.65.0252     2.65.0252
6.5 SP4                      2.65.0252     2.65.0252
6.5 SP5***                2.65.0252     2.65.0252
6.5 SP5a***              2.65.0252     2.65.0252
7.0                             N/A               3.70.0623
7.0 SP1                      N/A              3.70.0623
MDAC 1.5/Internet
Explorer                      N/A              3.50.0300
MDAC 1.5a               N/A              3.50.0303
MDAC 1.5b               N/A              3.50.0305
MDAC 1.5c               N/A              3.50.03055
ODBC 3.5                  N/A              3.60.0310
MDAC 2.0                 N/A              3.60.0319
MDAC 2.0 SP1         N/A              3.60.0319
MDAC 2.0 SP2         N/A              3.60.0319
MDAC 2.1                 N/A              3.70.0623
MDAC2.1.1.3711.11 N/A              3.70.0623
MDAC 2.1.2.4202.3  N/A              3.70.0690

** Недоступный номер версии.
*** Service Pack содержит MDAC 2.1 в виде Mdac_Typ.exe (версия 2.1.0.3513.2).
MDAC 2.1 не устанавливается автоматически вместе с SQL Server Service Pack.

SQL Mail и CDO – новые возможности Windows 2000
По материалам MSDN

В этой рассылке и в форумах уже неоднократно дискутировалась тема использования возможностей SQL Mail для автоматизации задач администрирования сервера баз данных. Практика показывает, что проблемы использования стандартных возможностей MS SQL Server для организации оповещений являются наиболее типичными и особенно часто связаны с необходимостью отступления от стандартной схемы взаимодействия СУБД, почтового клиента и сервера электронной почты. С другой стороны, одним из наиболее типичных вопросов сегодняшнего дня является анализ новых возможностей, которые привнесены последними версиями операционных систем и серверов баз данных Микрософт. Поскольку эта тема ещё мало озвучена (виду своей необъятности) и вызывает повышенный интерес у подавляющего большинства DBA и SQL программистов, хочу предложить Вам для обсуждения (и возможного применения) одно из новшеств операционной системы Windows 2000, которое может иметь широкое применение в контексте повседневных задач администрирования или для организации доступа к данным из интернет.
Одним из таких новшеств, которое меня чрезвычайно заинтересовало, является Collaboration Data Objects (CDO), представляющие набор объектов, обеспечивающих передачу данных средствами Microsoft Windows 2000 (Cdosys.dll). Имеется ввиду версия 2.0 спецификации CDO API, которая входит в Component Object Model (COM). Основной целью CDO является упрощение программирования почтовых возможностей, создание и  управление сообщениями Internet. Windows 2000 CDO добавляет Вам новые классы COM, которые Вы можете использовать в прикладных программах, написанных на языках, поддерживающих COM и Automation, такие, как Microsoft Visual Basic, Microsoft Visual C++, Microsoft Visual J++, или языки создания сценария типа Visual Basic Scripting Edition. Вы получаете инструмент для создания клиентских или серверных приложений, которые будут иметь возможность создания, форматирования и управления сообщениями Internet, например, стандарта Multipurpose Internet Mail Extensions (MIME). Также, CDO поддерживает сообщения протоколов SMTP и NNTP, RFC 822 Message Format и UUENCODE Attachment Format. Модель объектов CDO основана на этих форматах, и обеспечивает объектно-ориентированную среду разработки для каждого формата. С помощью CDO Вы легко сможете, как отформатировать полученное сообщение, так и преобразовать его в другую форму, записать его в поток или сохранить в файл.
Создание сообщения в Вашем коде будет выглядеть очень просто:

[Visual Basic]
' Reference to Microsoft ActiveX Data Objects 2.5 Library
' Reference to Microsoft CDO for Windows 2000 Library
Dim iMsg As New CDO.Message

[C++,IDL]
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace
#import <cdosys.dll> no_namespace
// ...
IMessagePtr iMsg(__uuidof(Message));

[VBScript]
Dim iMsg
Set iMsg = CreateObject("CDO.Message")

Чтобы посылать созданное SMTP сообщение, Вы должны будете определить ещё и его свойства (кому, от кого). Для отправки многократных сообщений создают специальный объект Message и используют его повторно для каждого нового сообщения. Для отправки сообщений с одинаковым содержанием, но разным получателям, просто изменяют адрес, и вызывают метод IMessage.Send или IMessage.Post для каждого сообщения. Если Вам нужно изменять и содержание письма, можно воспользоваться методом IBodyParts.DeleteAll. В вашем распоряжении будут множество объектов и методов, которые возможно применять  для самых разнообразных вариантов оформления и управления почтовыми сообщениями. Например, создание сообщения в HTML формате будет выглядеть таким образом:

[VBScript]
Dim iMsg
Set iMsg = CreateObject("CDO.Message")
With iMsg
   .To = "mssqlhelp@pisem.net"
   .Newsgroups = "comp.mssqlhelp.sqlnewsgroup"
   .Subject    = "MS SQL Server – дело тонкое…"
   .HTMLBody   = "<html><body><p> <a href=”http://mssqlhelp.com.ru/”> Архив рассылки тут </a></p></body></html>"
End With

Но для нас наиболее интересным применением может стать использование возможности MS SQL Server работать с OLE Automation, а также наличие у Windows 2000 набора OLE Automation серверов для работы с CDO, т.е. с сообщениями электронной почты.
Существует набор системных хранимых процедур sp_OA….., которые обеспечивают интерфейс OLE объектов и с помощью которых можно вызывать объекты или методы из пользовательских хранимых процедур и т.п. Например, создать сообщение:

DECLARE @object int
DECLARE @hr int

EXEC @hr = sp_OACreate 'CDO.Message', @object OUTPUT
…..

Таким образом, Вы можете с помощью CDO написать своего почтового клиента (для того сервера, который Вам нужен) и запускать его прямо из хранимой процедуры, причём, выбирая тот профиль, который Вам наиболее подходит в каждом конкретном случае. В принципе, Вы можете не только заменить имеющиеся расширенные хранимые процедуры (xp_sendmail), но и значительно расширить их возможности. Это, как вариант, для тех подписчиков, которые испытывали проблемы с отправкой оповещений через не Микрософтовские почтовые сервера, а также, для тех, кого не устраивает наличие только одного профиля в распоряжении SQL сервера.
Другим возможным применением описанных выше инструментов, может стать организация автоматической рассылки данных через почтовые сообщения и т.п.
Можно ещё долго фантазировать на тему возможных применений CDO, поскольку представляемый в настоящей статье инструментарий достаточно сильно развит, гибок и полностью интегрирован в операционную систему. Индустрия интернет приложений развивается сегодня настолько бурно, что представить себе все возможные применения просто невозможно.
Более подробную информацию о Collaboration Data Objects Вы можете почерпнуть в MSDN, воспользовавшись поиском по ключевому слову: «CDO».

ГОТОВИМСЯ К ТЕСТУ ПО 70-028

ШПАРГАЛКА #7> Продолжение (обзор официального курса Microsoft)
Архив шпаргалок Вы найдёте на следующих сайтах:
http://mssqlhelp.com.ru
http://subscribe.ru/archive/comp.soft.winsoft.sqlhelpyouself

Траблешутинг оповещений и заданий

Поиск и устранение неполадок в работе заданий и оповещений стандартное руководство Микрософт предлагает проводить по следующей схеме:

1. Проверьте, запущен ли SQL Server Agent.
2. Убедитесь, что учётная запись, от имени которой стартует агент, отражена в роли sysadmin.
3. Убедитесь, что пароль учётной записи, от имени которой стартует агент, соответствует паролю, указанному при запуске сервиса SQL Server Agent (список сервисов в панели управления или через соответствующий пункт SQL Server Enterprise Manager).
4. Убедитесь, что интервал ожидания подключения агента к серверу баз данных достаточно велик.
5. Убедитесь, что задание, расписание или оповещение находится в состоянии «включено». Если оповещение было удалено, то автоматически удалились и все связанные с ним уведомления. Имейте в виду, что действия по отключению заданий, расписаний или оповещений нигде не журналируются.
6. Убедитесь, что контексту, через который работает владелец задания, предоставлены необходимые для выполнения всех этапов права. Если владелец задания не входит в роль sysadmin, этапы задания будут выполняться в контексте учётной записи NT SQLAgentCmdExec.
7. Убедитесь, что учётная запись SQLAgentCmdExec существует и создана при инсталляции сервера баз данных или из SQL Server Enterprise Manager.
8. Убедитесь в правильности присвоения пароля учётной записи SQLAgentCmdExec, который должен быть введён в окне SQL Server Agent Properties.
9. Убедитесь, что размер базы msdb достаточно велик для размещения в нём истории выполнения заданий. Для анализа используйте число строк в таблице sysjobshistory. Неверная настройка этой базы может привести к заполнению базой всего дискового пространства или нехватке места в для истории заданий в базе msdb.
10. Убедитесь, что используемый для рассылки оповещений почтовый клиент работоспособен и тестовые сообщения доставляются правильно и своевременно. Для тестирования используйте профиль учётной записи, от имени которой стартует SQL Server Agent.
11. Убедитесь, что журнал приложений NT не переполнен.
12. Убедитесь, что утилизация процессорного времени находится в допустимых пределах. Одной из возможных причин высокой утилизации процессоров может стать появление часто повторяющегося события, на которое создано оповещение. Такое случается вследствие ошибки администратора, который мог настроить оповещение по часто встречающемуся событию, не учтя аппаратных возможностей или доступных для этого ресурсов, или он мог установить слишком короткий интервал для часто встречающихся оповещений.   Также чрезмерная утилизация ЦПУ может проявиться вследствие того, что сервер перестал получать доступ к необходимому ему ресурсу и генерирует соответствующую ошибку. Результатом может стать отказ сервера в обслуживании клиентов. Когда оповещений очень много, а утилизация ЦПУ слишком высока, возможно накопление оповещений в очереди ожидания на обработку, что может, как повлиять на работоспособность сервера, так и на скорость ответной реакции сервиса SQL Server Agent на события сервера.

Причину неполадок можно локализовать с помощью записей в журнале приложений и системы NT, а также с помощью журналов ошибок SQL Server Agent и SQL Server (папка MSSQL7\Log). Следует только помнить, что при каждом запуске SQL сервера эти журналы создаются заново. Кстати, можно создать оповещение, которое после каждой записи ошибки в журнал SQL Server будет посылать соответствующую команду net send.
Журнал приложений Windows NT может настраиваться на несколько режимов хранения записей. Это может быть фиксированный размер, без возможности автоматической замены старых записей новыми или, наоборот, умеющий это делать. Также, при полном заполнении, через заданные промежутки времени может открываться новый журнал. Вам нужно выбрать разумный компромисс, который бы обеспечивал Вам наличие необходимой глубины истории записей и, в то же время, исключалась возможность переполнения журнала. Если возникнет необходимость принудительной очистки журнала приложений, помните, что удалятся все содержащиеся в нём записи, которые относятся не только к серверу баз данных, но и к другим задачам. Ещё одним источником информации о времени возникновения проблем оповещений или заданий может стать журнал их истории выполнения.
Когда Вам удалось локализовать проблему, внимательно изучите её описание в документации (BOL, KB, TN) и действуйте далее в соответствии с инструкциями.
Если же проблема не может быть устранена, но порождающая её ошибка/событие не критична для работы сервера и приложений, можно В КРАЙНЕМ СЛУЧАЕ запретит генерацию оповещения для ошибки путём внесения соответствующей записи в системный реестр Windows NT.

Продолжение следует.

ПОЛЕЗНОСТИ

Сводную информацию обо всех актуальных на сегодняшний день сервисных пакетах от Микрософт Вы можете получить на странице: «Top Support Downloads Service Packs and Service Releases»
http://support.microsoft.com/highlights/default.asp?pr=topsdn&cl=135&fr=0&sd=tech

Статья «Microsoft SQL Server 2000 - Новые возможности для разработчика приложений. Часть 2». Алексей Шуленин.
http://www.infocity.kiev.ua/db/content/db020.phtml

Вышла в свет книга: «Практическое руководство по SQL. 3-е издание». Авторы: Джудит С. Боуман, Сандра Л. Эмерсон, Марси Дарновски.  Эта книга поможет даже в тех случаях, когда бесполезно самое лучшее руководство пользователя. Здесь раскрываются темы, которые часто пропускаются или очень кратко описаны в стандартных руководствах пользователя - структуры баз данных, индексация, подзапросы, виртуальные таблицы, производительность и целостность данных. Вы шаг за шагом изучите основы SQL и научитесь с помощью этого языка создавать приложения для работы с базами данных. Книга предназначена для пользователей реляционных баз данных - независимо от того, работают ли они на больших многопользовательских компьютерных системах или на персональных компьютерах.
http://www.williamspublishing.com/Books.html

Новые технические статьи Microsoft:

Support WebCast: Microsoft SQL Server 2000 Windows CE Edition Overview and Programming
http://support.microsoft.com/servicedesks/Webcasts/WC012501/wcblurb012501.asp
Support WebCast: Microsoft SQL Server 2000 Log Shipping
http://support.microsoft.com/servicedesks/Webcasts/WC021501/wcblurb021501.asp
Q231943 - INFO: Microsoft Data Access Components (MDAC) Release History
http://support.microsoft.com/support/kb/articles/q231/9/43.asp
Q263556 - INF: How to Configure SQL Mail
http://support.microsoft.com/support/kb/articles/Q263/5/56.ASP
Q282229 - FIX: SP_OA Procedures Leak Memory and Cause Various Errors
http://support.microsoft.com/support/kb/articles/q282/2/29.ASP
Q286286 - BUG: DOC - LOCK_TIMEOUT Causes Transaction to Rollback and @@error Does Not Capture Error 1222
http://support.microsoft.com/support/kb/articles/q286/2/86.ASP
Q273879 - PRB: Row Lock Held for Previously Fetched Row Is Not Released When You Use Forward_Only Dynamic Cursor with SCROLL_LOCKS
http://support.microsoft.com/support/kb/articles/q273/8/79.ASP
Q281902 - BUG: Unattended Client Installation on Windows 9x Computer Incorrectly Requests Deskecli.bat File
http://support.microsoft.com/support/kb/articles/q281/9/02.ASP
Q288395 - BUG: SQL Server Books Online Does Not Display DELETE as an Option in the CREATE TRIGGER Topic
http://support.microsoft.com/support/kb/articles/q288/3/95.ASP
Q281809 - BUG: Error Message 823 or Retail Assert Encountered During Restore of SQL Server Log Backup
http://support.microsoft.com/support/kb/articles/q281/8/09.ASP
Q289149 - BUG: A Query That Uses Hash Match Teams May Fail with 8630 Error Message
http://support.microsoft.com/support/kb/articles/q289/1/49.ASP
SQL Server 6.5 Service Packs
http://support.microsoft.com/support/servicepacks/sql/6.5/default.asp
SQL Server 7.0 Service Packs
http://support.microsoft.com/support/servicepacks/sql/7.0/default.asp
Office 2000 Developer Service Releases
http://support.microsoft.com/support/servicepacks/office/2000/dev/sr1.asp
Q285979 - BUG: Changing Autostart Options for Named Instances Change Autostart Settings for the Default Instance
http://support.microsoft.com/support/kb/articles/q285/9/79.ASP
Q288122 - FIX: Lock Monitor Uses Excessive CPU
http://support.microsoft.com/support/kb/articles/q288/1/22.ASP

#035<<#036


Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру на адрес: MSSQLHelp@pisem.net
Хостинг рассылки:
Majordomo.ru - качественный хостинг от $9 в месяц: от 10 Мб,неограниченный трафик, от 10 РОР3, Cgi-bin, MySQL, PHP и секретный сервер, FTP & anonymous FTP, бесплатная регистрация домена,перекодировка кириллицы... http://www.majordomo.ru/hosting и самое главное - уникальное предложение : ДОМЕННОЕ ИМЯ в зоне .ru, .com, .net, .org БЕСПЛАТНО. Побробности http://www.majordomo.ru/hosting/specpr.html

MSSQLHELP
SQL.RU
ФОРУМ
Описание рассылки



http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное