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

MS SQL Server

  Все выпуски  

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


Информационный Канал Subscribe.Ru


#121<<  #122

СОДЕРЖАНИЕ

1.СЕМИНАР
1.1.Возможности использования Microsoft SQL Server 2000 в распределенной среде. Репликация. Удаленный доступ.
2.СОВЕТЫ
2.1.SQL Server Notification Services
3.ССЫЛКИ НА СТАТЬИ
3.1.Отечественные статьи
3.2.Новые технические статьи Microsoft
3.3.Англоязычные статьи
4.ФОРУМ SQL.RU
4.1.Самые популярные темы недели
4.2.Вопросы остались без ответа

СЕМИНАР

Возможности использования Microsoft SQL Server 2000 в распределенной среде. Репликация. Удаленный доступ

Группа компаний ТАЛГАР совместно с проектом SQL.RU объявляет об открытии серии ежемесячных практических семинаров для ведущих специалистов, разработчиков и администраторов MS SQL Server. Первый семинар, посвященный вопросам использования Microsoft SQL Server 2000 в распределенной среде, носит название : "Возможности использования Microsoft SQL Server 2000 в распределенной среде. Репликация. Удаленный доступ."

Этот семинар пройдет 25 декабря 2002 года в Учебном Консультационном Центре Группы Компаний ТАЛГАР. ( Москва., Научный проезд, 10, 6 этаж, офис Группы компаний ТАЛГАР)

На семинар приглашаются ведущие специалисты, программисты, разработчики информационных систем. Вы можете заранее задать вопрос докладчику или определить темы, которые вы хотели бы обсудить на предстоящем семинаре. Для этого необходимо послать письмо на адрес mssql@talgar.ru. Участие в семинаре бесплатно.

Внимание ! Количество участников ограничено. Большая просьба направлять на семинар от каждой организации не более двух человек.

Для участия в семинаре необходимо заполнить регистрационную форму на каждого участника семинара и отправить ее по факсу или электронной почте. Также Вы можете заполнить регистрационную форму на нашем веб-сайте.
По всем вопросам регистрации, пожалуйста, обращайтесь к менеджеру Хуриленко Оксане. Тел./факс (095) 333-72-13, 128-88-66, 128-93-41

Начало семинара в 15-00. На семинаре будут представлены доклады:

1. Организация репликации Microsoft SQL Server 2000 с учётом внешних и внутренних ограничений системы.
Гладченко Александр Юрьевич, администратор баз данных, отдел автоматизации ДИТ Корпорации ИНКОМ( www.sql.ru ).

Тезисы доклада.

1. Ограничения репликации.
  · Перечень возможных ограничений, их влияние на производительность работы SQL сервера.
  · Ограничения, влияющие на репликацию.
  · Зависимость работы компонент MS SQL Server 2000 от производительности репликации.

2. Учёт ограничений при развёртывании системы с репликацией.
  · Учёт аппаратных ограничений.
  · Учёт системных ограничений.
  · Учёт сетевых ограничений.

3. Рекомендации по развёртыванию систем с репликацией через Internet.
  · Сценарий организации репликации через ограниченные коммуникационные каналы.
  · Рекомендации по конфигурированию компонент репликации.
  · Настройка компонент системы, влияющих на утилизацию коммуникационных каналов.

4. Рекомендации по мониторингу репликации через Internet.
  · Стандартные средства мониторинга.
  · Рекомендуемые для контроля события.
  · Организация оперативных оповещений.

5. Устранение неполадок.
  · Реакция на аппаратные сбои.
  · Реакция на системны сбои.
  · Реакция на коммуникационные проблемы.

2. Обеспечение информационной безопасности взаимодействия серверов БД на основе Microsoft SQL Server средствами Microsoft Windows 2000 Server и Microsoft ISA Server (VPN и др.).
Либерман Ян Дмитриевич, ведущий специалист, менеджер проектов, Группа компаний ТАЛГАР.

СОВЕТЫ

SQL Server Notification Services
Доклад на конференции Microsoft «Платформа 2003» и на XII ежегодной конференции проводимой TALGAR «ТЕХНИКОН 2002»

Автор: Александр Гладченко

По материалам Notification Services Books Online и презентации, которую подготовил Алексей Шуленин.

1Введение
2.Распространенные бизнес-сценарии оповещений
2.1Потребительские
2.2Промышленные
2.2.1Жизненный цикл
2.2.2Операционная поддержка
2.2.3Бизнес-логика
2.2.4Информационная поддержка
2.3Практический пример использования сценариев оповещения в United Airlines
3Основные понятия

4 Как выглядит оповещающее приложение

·Подписчик объявляет уведомляющему приложению о своей заинтересованности в определенного рода событиях, регистрируя внутри него подписку.
  - Приложение, я хочу получать от тебя оповещения об изменении курса доллара, более чем на 2%.
· Оповещающее приложение мониторит ту часть окружающего мира, где можно заметить возникновение интересующего события.
  - Напр., в него 2 раза в сутки руками забивают сводки, которые доставляет курьер.
  - Или оно раз в 10 мин. читает Web-страницу ЦБ и парсит таблицу с курсами валют.
  - Или оно работает с Web-сервисом ЦБ, который генерирует событие всякий раз, как что-то меняется.
· Из всего множества событий, которое отлавливает приложение, оно выделяет те, которые интересуют данного подписчика.
  - Notification Services используют синтаксис Т-SQL, чтобы сопоставить события с критериями, заданными при подписке.
  - И если они совпадают, Notification Services генерируют оповещение для подписчика.
· Оповещение форматируется в сообщение (возможно, с указанием доп. инф.) и передается службе доставки.
  - Доставка кладет сообщение в заданную файловую папку, FTP-папку, HTTP Post, SMTP и т.д.
  - Notification Services абстрагируются от протокола.

Хорошим примером использования оповещающих приложений является отслеживание состояния акций на фондовых рынках. Пользователь может создать подписку, которая будет уведомлять его об акциях, состояние которых отражается в новостях ADCP. Если цена акции станет больше 70, он получит оповещение по сотовому телефону. Каждый раз, когда цена пакета акций изменяется, сервис оповещений сравнивает данные о подписке с текущим набором событий. Если акция по ADCP превысит 70, будет создано оповещение, которое будет нужным образом отформатировано и отправлено в службу доставки, которая отправит оповещение на сотовый телефон пользователя.

Подобную систему, на базе Notification Services, уже сегодня реализовало у себя инвестиционное банковское подразделение Dresdner Bank - Dresdner Kleinwort Wasserstein (DrKW). Этот банк является членом международной кредитной организации Allianz Group. Интранет приложение банка контролирует широкий диапазон событий, отражающихся в back-office системах, и рассылает оповещения для инвестиционных менеджеров и трейдеров.
Другим примером можно назвать одно из старейших и крупнейших кредитных учреждений Италии - Consorzio Gruppo Monte dei Paschi di Siena (MPS), которое существует с 1472 года. Интранет приложения этого банка помогает повысить производительность workflow и создать систему управления обработкой критически - важных документов.
По заявлению менеджер проекта корпоративного портала Elena Innocenti, основная цель состояла в том, чтобы на базе Notification Services создать информационный поток для пользователей корпоративного портала (не зависящий от количества пользователей и места их нахождения), который освободит их от задач ручного поиска изменений в документах, которые они используют для своего бизнеса.

4.1 Более подробно о конвейере сервиса оповещений.

· Каждый подписчик может заводить много подписок.
  - Данные о подписчиках и подписках Notification Services хранят в БД на SQL Server.
  - Напрямую обращаться туда через ODBC или OLE DB вам не нужно – Notification Services абстрагируют управление подписками/подписчиками при помощи SMO – Subscription Management Objects.
  - SMO – составная часть NS API.

· Notification Services должны следить за окружающим миром, чтобы выбрать нужные события из всего многообразия изменений.
  - Они делают это при помощи Провайдеров Событий (Event Providers).
  - Каждый Event Provider мониторит свою область бытия:
    ° Напр., File System Watcher контролирует определенную файловую папку.
    ° Как только там появляется XML-документ с описанием случившегося, он считывает его в БД приложения.

· Модуль под названием Генератор (Generator) занимается сопоставлением параметров отловленного Провайдером события зарегистрированным Подпискам.
  - Сличение происходит как SQL JOIN.
  - Этим он занимается регулярно.
    ° Расписание определяется разработчиком уведомляющего приложения.
  - Генератор также извлекает из события дополнительные данные, которые войдут в уведомление для Подписчика
· Модуль под названием Дистрибутор (Distributor) компонует сообщение и отсылает его Подписчику через службы доставки.
  - Обычно компоновка/форматирование происходят при помощи XSLT.

4.2 Итак, еще раз

· Три базовых компоненты трудятся на конвейере Notification Services:
  - Event Provider отлавливает события внешнего мира, на которые он настроен, и кладет их на конвейер
  - Generator берет событие с конвейера, смотрит, какие подписки оно может заинтересовать и генерирует для них оповещения
    ° Т.е. дальше по конвейеру движется уже обработанное событие – оповещение
  - Distributor получает оповещение, форматирует его в сообщение и отправляет подписчику

4.3 Конвейер в архитектуре оповещений

· На рисунке показано место конвейера сервиса оповещений в общей архитектуре Notification Services.
· Каждому компоненту сервиса оповещений может быть сопоставлена своя база данных.
· Венцом архитектуры являются оповещающие приложения, написанные в виде управляемого кода .NET
· Оповещающие приложения определяют логику работы (жёлтые стрелки)
· Результат работы приложения – оповещения (голубые стрелки)

5 Архитектура Notification Services

Платформа сервиса оповещений обеспечивает интерфейс для списков рассылки и подписываемых данных. Архитектура содержит компоненты, которые аккумулируют события, а также генерируют, форматируют и распределяют оповещения. В дополнение к поддержке этих встроенных компонент, сервис оповещений даёт возможность создавать собственные компоненты для сбора событий и форматирования оповещений.

5.1 Архитектура управления подпиской

Чтобы посылать оповещения, разработанное Вами приложение должно уметь управлять информацией о подписчиках, управлять данными, которые они хотят получать и управлять способами доставки оповещений, которыми подписчики хотят эту информацию получать.
Это может быть Web-приложение или стандартное Microsoft Windows приложение. Оно будет сохранять информацию о подписчиках, подписке и устройствах получения данных подписчика в базе данных Notification Services. Для этого, разработчик может использовать имеющийся в составе сервиса оповещений набор объектов Subscription Management Objects (SMO). SMO предназначен для абстрагирования от внутренней «кухни» сервиса оповещений.
Данные, на которые осуществляется подписка, хранятся в пользовательских базах данных. Такой метод хранения позволяет прикладным программам совместно использовать подписываемые данные и при этом отдельно хранить информацию о подписках для каждого приложения.

Подписка и данные о подписчике являются ключевыми данными в операциях сервиса оповещений. Когда запущено оповещающее приложение, оно использует информацию о подписке, чтобы генерировать оповещения, а затем использует данные о подписчике, чтобы соответствующим образом эти оповещения отформатировать и отправить.

5.2 Архитектура Event Collection

Event Collection – это процесс получения данных о событиях из одного или более источников, таких как: XML файлы, прикладные программы или базы данных. Кроме того, это процесс обеспечения доступности информации о событиях для оповещающих приложений. В архитектуре сервиса оповещений поддержкой Event Collection занимаются провайдеры событий. Каждое приложение использует для отслеживания событий одного или более провайдеров. Каждый провайдер событий передаёт данные приложению, используя один из четырёх интерфейсов событий (Event API): управляемый API, COM API, (который использует управляемый API), XML API и SQL Server API.

· Управляемый API использует объекты и коллектор событий для того, чтобы передать одиночные события. Используя имена полей в таблице событий, приложение передаёт объект – событие в Event Collection, который записывает данные в таблицу событий. COM API использует COM interop, чтобы представить классы событий, как COM -интерфейсы.
· XML API обеспечивает массовую загрузку XML данных. Провайдер XML событий собирает XML документ или поток от источника событий и передаёт данные в XMLLoader, который записывает события в таблицу событий.
· SQL Server API использует хранимые процедуры для загрузки данных о событиях, хранящихся в объектах базы данных. Существует два типичных пути использования провайдера событий SQL Server, это вызов провайдера через хранимую процедуру или исполнение запроса по предопределённому расписанию. Провайдер событий получает результирующий набор и записывает его средствами хранимых процедур в таблицу событий.

5.3 Провайдеры событий

· Собирают изменения в данных из внешней деятельности и отправляют их как События в Пакетах Событий (Event Batches).
· Оповещающее приложение должно иметь хотя бы одного действующего провайдера событий.
· Провайдеры событий отображаются на классы событий (Event Classes).
· Notification Services поставляются с 2-мя провайдерами.
  - File System Watcher Event Provider.
  - SQL Server Event Provider.

5.3.1 Стандартные и пользовательские провайдеры

Разработчики приложений могут написать собственные Custom – провайдеры событий, которые могут использовать любой из оговоренных выше интерфейсов или они из стандартных провайдеров, поставляемых с Notification Services.
Написание собственных провайдеров событий позволяет разработчику реализовать функциональные возможности, которые не поддерживаются стандартными провайдерами. Например, используя Notification Services API, разработчик может реализовать загрузку данных из текстового файла с разделителем в виде запятой, который содержит данные о котировках акций.

5.3.2 Hosted и Non-Hosted (Independent) провайдеры

Hosted (зависимый) провайдер событий выполняется под управлением специального компонента сервиса оповещений, называемого: Event Provider Host. Event Provider Host работает по тому же расписанию (которое определено в ADF), что и генератор. Независимые (Non-Hosted) провайдеры работают как внешние программы и поставляют события по их собственным расписаниям. К независимым провайдерам событий можно отнести провайдера, управляемого службой Internet Information Services (IIS), который обеспечивает методы для передачи событий через Web. Те из написанных разработчиками провайдеров, которые является зависимыми от внутренних процессов сервиса оповещений, также относятся к категории независимых провайдеров событий.

· Зависимые
  - Работает in-process (непрерывно) в Notification Services Windows Service или вызывается по расписанию, определённом в ADF файле.
  - Должен имплементировать интерфейсы IEventProvider или IScheduledEventProvider.
  - Меньше программирования.
  - Initialize, Run, Terminate, Schedule.
  - Запускается и останавливается вместе с Notification Services Windows Service.

· Независимые
  - Работает на удаленной системе / альтернативной платформе
  - Стартует/останавливается независимо от Notification Services Windows Service

5.3.3 Пакетные события

Стандартные провайдеры обрабатывают события пакетами. Пересылка событий пакетами позволяет генератору более эффективно обрабатывать данные о событиях, за счёт сравнения информации о подписке в рамках одной операции не с одним событием, а с целым пакетом. Ориентация на пакетную обработку существенно повышает общую эффективность.

5.3.4 Функциональность провайдера событий

Standard
  - File System Watcher Provider.
  - SQL Server Provider.
Custom
  - Managed или unmanaged провайдер.
  - Может использовать OLAP, MSMQ, Web Service, ...

Hosted
  - NS хостит провайдеров событий.
  - Загружаются в адресное пространство NS из внешних сборок.
  - Провайдеры событий реализуют определенные в NS интерфейсы.
Non-Hosted
  - Выполняется в отдельном процессе.
  - Использует функции NS API, либо хранимые процедуры SQL Server.

Scheduled
  - Реализует IScheduledEventProvider.
  - Расписание задается разработчиком уведомляющего приложения.
Continuous
  - Реализует IEventProvider.
  - Крутится, пока запущен сервис NS.

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

[Содержание]

ССЫЛКИ НА СТАТЬИ

Отечественные статьи

Динамическое формирование объектов
При разработке программ часто возникает необходимость модифицировать уже существующие базовые классы объектов: добавлять в них новые данные и методы, перекрывать уже существующие...
Алгоритм проверки контрольного числа ИНН и страхового номера ПФ
Модуль содержит две функции для проверки контрольного числа ИНН и страхового номера ПФ...
Еще раз о нечетком сравнении строк
По мотивам обсуждения статьи Функция приблизительного/нечеткого сравнения строк ...

[Содержание]

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

PRB: SQL Server Service Did Not Start Due to a Logon Failure
PRB: Dashes '-' Ignored in Search with SQL Full-Text and MSIDXS Queries
FIX: Upgrade to SQL Server Fails When MSDE Installed from MOD
FIX: Unhandled Exception During Upgrade When Excluding Database with 30 Character Name
FIX: The SELECT Statement with Parallelism Enabled May Cause an Assertion
FIX: SP2 Regression: Running a Stored Procedure with Index on Local Temp Table Causes AV
FIX: Service Pack Installation May Save Standard Security Password in File
FIX: Processing All Dimensions May Fail with Very Large Dimensions
FIX: Processing All Dimensions May Fail From OLAP Manager or DTS Package
FIX: Problems in Managing OLAP Cube Roles on French Versions
FIX: OLAP Manager Stops Responding When You Edit Partitions
FIX: OLAP Manager May Stop Responding When You Migrate Repository
FIX: OLAP Manager May Return Error After You Install MDAC 2.6
FIX: Copied Cubes with Private Dimensions May Fail to Paste into New Databases
FIX: Archive/Restore Fails After You Apply SP2 Add-in with SQL Server Repository
FIX: "CREATE INDEX" in Form Causes ASC or DESC to be Removed in an ORDER BY Clause
BUG: UPDATE Trigger May Have Long Parse and Compile Time
BUG: Fetch From Cursor on Stored Procedure May Cause 1203 Error

[Содержание]

Англоязычные статьи

Understanding the difference between "IS NULL" and "= NULL"
James Travis
When a variable is created in SQL with the declare statement it is created with no data and stored in the variable table (vtable) inside SQLs memory space. The vtable contains the name and memory address of the variable. However, when the variable is created no memory address is allocated to the variable and thus the variable is not defined in terms of memory
Implementing Encrypting File System (EFS) with SQL Server
Brian Kelley
In his first article on SQL Server security, Chris Kempster briefly introduced Encrypting File System (EFS), a new feature to Windows 2000. EFS provides a mechanism for encrypting files completely transparent to higher level applications such as SQL Server. EFS should be of prime interest to any DBA looking to protect sensitive data files within SQL Server. After all, if an attacker can copy the unencrypted data files from a SQL Server, the attacker can then attach these files to his or her own SQL Server with very little issue. With EFS you can encrypt all of your data files in such a manner that only SQL Server has access to them, stopping any such nonsense
How safe are your passwords?
Joseph Gama
Find SA Password (Brute Force)+Find Passwords (Dictionary)+Analysis of Password Security+Password Generator+ASCII Tab
Setting a Default Database for your Logins
Andy Warren
One of many issues I ended up discussing at PASS 2002 was the issue of setting a default database for logins. Thought it might be worth throwing my ideas on this out for comment!

[Содержание]

ФОРУМ SQL.RU

Самые популярные темы недели

Среда программирования под MS SQL
Кто на чем пишет клиентов под SQL Server?
Оптимальная архитектура БД
Почему транзакции не строятся в очередь в merge репликации
Как отображать изменения клиента на другом клиенте
Дефрагментация базы данных (Тема для обсуждения)
DLL хранящиеся в базе!!!
SQL не использует индексов!
Функция - генератор ключа
ГЛУПЫЙ вопрос пр хр.процедыры
Вопрос про аномалию
Ошибка [DBNMPNTW] ConnectionOpen(CreateFile())
ВСЕМ АКТУАЛЬНО : Накопление блокировок
Посоветуйте книжку по SQL 2000
Семинар: Организация репликации MS SQL Server 2000 через интернет
Login filled for user '\' Как правильно настроить соединения между 2мя серверами
exec и работа с возвращаемыми значениями
отслеживание измений в sql2000
Выгрузка данных из Excel
Could not create an instance of OLE DB provider
Как добавить поддержку кирилицы в ErWin4.0
Вставка картинок как значений полей
Job, linked server and security prb
Помогите законнектиться с Access2000 на SQL2000

[Содержание]

Вопросы остались без ответа

Alerts - секреты мастерства
Получение результатов запроса - ODBC vs ADO
MTS + DBase и dbt-фaйлы.
Блокировка таблиц в MS SQL
OFF: Плиз, подскажите

[Содержание]

#121<<  #122

Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру Гладченко на адрес: mssqlhelp@pisem.net

sql.ru Описание рассылки

МИНИФОРМА
ПОДПИСКИ




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное