(Возврат на основную страницу)
Байя
Павлиашвили
Расширенные возможности репликации в SQL Server позволяют синхронизировать информацию нескольких БД, независимо от их расположения: на одном или на разных серверах.
Казалось бы, почему просто не создать резервную копию БД и не восстановить ее на сервере? Или переместить таблицы и данные с помощью служб Data Transformation Services (DTS)? При работе с БД, предназначенной только для чтения — нет проблем. Ну, а если приходится иметь дело с большой (объемом 100 Гб и более) OLTP-базой, обрабатывающей свыше 100 транзакций в минуту? Или необходимо, чтобы тысяча пользователей в течение восьми часов в день одновременно выполняли операторы SELECT, INSERT, UPDATE и DELETE? В этом случае резервное копирование и восстановление базы каждые десять минут неприемлемо: таблицы будут заблокированы, и на вас обрушится шквал звонков раздраженных пользователей. Перемещение такого объема данных с помощью DTS или утилиты bcp тоже не выход — передача базы займет слишком много времени.
Репликация не ускоряет передачу данных, но позволяет распространять информацию сразу на все серверы и затем вносить в их БД соответствующие изменения. Это оптимальный компромисс между актуальностью и доступностью данных.
Ицик Бен-Ган
Иногда
необходимо модифицировать записи таблицы,
в зависимости от данных из других таблиц.
Для решения проблемы можно
воспользоваться вложенными запросами
или прибегнуть к соединению таблиц в
операторах DELETE и UPDATE (изначально такая
конструкция появилась в Sybase).
Данный синтаксис не является ANSI-совместимым и, на первый взгляд, может показаться странным. Тем не менее, он очень удобен, особенно для триггеров, в которых обычно требуется соединить базовую таблицу с таблицей deleted или inserted.
Советы по сдаче сертификационных экзаменов на знание SQL Server
Для
автоматизации задач администрирования SQL
Server 7.0 надо уметь настраивать оповещения и
определять операторов — лиц, к которым
обращается SQL Server при возникновении ошибок.
Интерактивное руководство по экзамену SQL
Server Administration (70-028) включает следующие
разделы: создание заданий, создание
оповещений, определение операторов и
настройка агента SQL Mail Agent для отсылки
связанных
с заданиями сообщений и оповещений.
Оповещения срабатывают, например, если запланированное задание отказало или переполнился файл журнала. Кроме того, можно создавать оповещения, которые при возникновении ошибок будут запускать определенные задания. В этой статье я расскажу о настройке оповещений и выборе операторов, о реализованных в SQL Server 7.0 новинках в области создания заданий и автоматизации администрирования. Мы рассмотрим и такой сложный вопрос, как настройка SQL Server в качестве почтового клиента.
Тибор Карачи
Представьте
себе разработчика, создающего и
совершенствующего файлы сценариев и
хранимые процедуры для обслуживания
системы. Как
записать в таблицу вывод операторов,
отказывающихся возвращать нормальный
набор результатов?
Попытки вставить данные, выполнив строку вида INSERT tbl EXEC(‘’), безуспешны: T-SQL возвращает вывод оператора в окно результатов запроса, а не в таблицу. А значит, необходимо разработать сценарий на T-SQL, дефрагментирующий индексы с фрагментацией, превышающей заданный уровень.
Обработка запросов на клиентской системе, взаимодействие различных клиентов с SQL Server, а также действия SQL Server по обработке клиентских запросов — эти темы представляют особый интерес для разработчиков.
Именно эти вопросы поверхностно обсуждаются в других источниках. Так, в изданной Microsoft Press книге Рона Соукупа и Кэлин Дилэни «Inside SQL Server 7.0» подробно рассмотрены механизмы и модель поведения ядра хранения, однако обработчику запросов уделяется значительно меньше внимания. Надеемся, что эта статья позволит вам заполнить некоторые пробелы в знаниях, поможет создавать качественные приложения, по-новому осветит проблемы производительности.