Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Вопросы и ответы по MS SQL Server" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
MS SQL Server - дело тонкое...
Информационный Канал Subscribe.Ru |
#183<< #184 |
СОДЕРЖАНИЕ
Обзор новшеств SQL Server Yukon Beta 1
Дата: 02.03.2004г. 18:00
В данной презентации рассматривается секционирование таблиц, как средство решения основных проблем, возникающих в процесе проектирования, разработки и эксплуатации сверхболь-ших баз данных (VLDB). Дается рабочее определение VLDB, описаны возможные проблемы. Да-лее рассматривается ,что такое секционированние таблиц и индексов, и определяются цели сек-ционирования. Дается краткий озор средств секционирования в существующих версиях MS SQL Server и подробно рассказывается о новых механизмах секционирования в Yukon. В зависимости от целей рассматриваются различные сценарии секционирования таблиц, Каждый сценарий вклю-чает проектирование, реализацию, использование и сопровождение. К каждому сценарию приво-дятся с примеры исходных кодов. Акцентируется внимание на ситуациях, которые неразрешимы иными способами, а так же на ограничения, которые накладываются на используемые объекты. Дополнительно описывается секционирование индексов. 4. Внутренняя реализация репликации в Юкон. Сердюк Владимир
1) Transactional publication 2) Transactional publication with updatable subscriptions 3) Merge publication Обзор внутренних механизмов репликации в Юкон. Обзор реализации на уровне внутренних процедур. Для участия в семинаре, Вам необходимо прислать на адрес mssqlhelp@pisem.net письмо - заявку, в свободной форме, с обязательным указанием Ф.И.О. При себе необходимо иметь документ, удостоверяющий личность. Внимание! Количество мест ограничено, поэтому прошу Вас не откладывать регистрацию. В случае успешной регистрации, за день до даты проведения семинара Вам придёт подтверждение по электронной почте. Карта проезда в представительство Microsoft:
SQL Server 2000 DTS. Часть 9. Задачи DTS Designer: Transform Data Task По материалам статьи Marcin Policht: SQL Server 2000 DTS Part 9 - DTS Designer Tasks
В нашей предыдущей статье, мы начали рассмотрение основных принципов и возможностей задачи Transform Data Task. Мы продолжаем
эту тему, сосредоточившись на её более "тонких" особенностях. Мы уже описали цели четырех закладок Transform Data Task Properties,
реализующих наиболее распространённые сценарии использования этой задачи, не обращаясь к теме использования многопроходной,
стадийной обработки данных. SELECT Shippers.ShipperID, Shippers.CompanyName, Shippers.Phone, COUNT(OrderID) AS Orders FROM Shippers INNER JOIN Orders ON ShipVia = ShipperID GROUP BY Shippers.ShipperID, Shippers.CompanyName, Shippers.Phone Так как мы используем в качестве получателя данных базу tempdb, вероятно Вам потребуется обновить таблицу - адресат данных (иначе Вы получите сообщение об ошибке, указывающее на то, что получающая данные таблица не существует). Чтобы проверить так ли обстоит дело, посмотрите содержание закладки Destination. Если структура таблицы не указана, нажмите кнопку Create..., и вставьте следующий SQL скрипт: CREATE TABLE [ShippersOrders] ( [ShipperID] int NOT NULL, [CompanyName] nvarchar (40) NOT NULL, [Phone] nvarchar (24) NULL, [Orders] int)
Далее, перейдите на закладку Transformations и обратите внимание на то, что появилось новое поле со списком "Phases filter", в
котором по умолчанию, указано значение "Row transform", так как это было единственно возможным значением в SQL Server 7.0. Вы
можете легко проверить, что этот список содержит много других значений, соответствующих всем возможным стадиям (и подстадиям)
Transform Data Task. Чтобы исследовать максимум функциональных возможностей многофазной трансформации данных, мы будем использовать
ActiveX скрипт, так что удалите все уже существующие преобразования с помощью кнопки Delete. Нажмите кнопку New и убедитесь,
что выбрано значение ActiveX Script для создания нового преобразования, и подтвердите Ваш выбор. В диалоговом окне Transformation
Options, вызываемом кнопкой Edit, Вы увидите дополнительную закладку с именем Phases. На ней Вы можете определить какие стадии
(и подстадии) будут использоваться в преобразовании. Как говорилось раньше, была установлена функция Row transform, и Мы её
можем довольно просто изменить. Настройте содержание закладок Source и Destination так, чтобы все имеющиеся поля были внесены
в список отбора полей. Перейдите опять на закладку General окна Transformation Options и нажмите кнопку Properties .... Вы
увидите диалоговое окно ActiveX Script Transformation Properties, со всеми стадиями, внесенными в список на закладке Phases
(новая закладка должна появиться в нижней - левой части диалогового окна). Отметьте все чекбоксы с левой стороны окна, и
автоматически сгенерируйте код, нажав кнопку Auto Gen. Как только Вы это сделаете, код появится в правой части окна.
Разделение обработки на стадии обеспечивает несколько преимуществ. Вы получаете больше контроля над манипуляцией данными и
возможность обработки ошибок с восстановлением. Преобразование может быть повторно начато с места сбоя, без повторной загрузки
уже обработанных данных. Function PreSourceMain() PreSourceMain = DTSTransformstat_OK End Function Function Main() DTSDestination("Orders") = DTSSource("Orders") DTSDestination("Phone") = DTSSource("Phone") DTSDestination("CompanyName") = DTSSource("CompanyName") DTSDestination("ShipperID") = DTSSource("ShipperID") Main = DTSTransformStat_OK End Function Function TransFailureMain() TransFailureMain = DTSTransformstat_OK End Function Function InsertSuccessMain() InsertSuccessMain = DTSTransformstat_OK End Function Function InsertFailureMain() InsertFailureMain = DTSTransformstat_OK End Function Function BatchCompleteMain() BatchCompleteMain = DTSTransformstat_OK End Function Function PumpCompleteMain() PumpCompleteMain = DTSTransformstat_OK End Function Function PostSourceMain() PostSourceMain = DTSTransformstat_OK End FunctionВначале, создадим глобальную переменную DTS пакета с именем "LogFile", перейдя в диалоговое окно Package Properties (как это делается, описывалось в одной из предыдущих статей) и выбрав тип "строка" с каким - либо значением (например, "d:\logs\MPDPump.log" - который нужно предварительно создать). После этого, измените ActiveX скрипт, следующим образом: ' Copy each source column to the destination column Function PreSourceMain() Const Overwrite = TRUE Set oFSO = CreateObject("Scripting.FileSystemObject") Set oLogFile = oFSO.CreateTextFile(DTSGlobalVariables("LogFile").Value, Overwrite) DTSGlobalVariables("TotalBatches").Value = 0 DTSGlobalVariables("TotalRows").Value = 0 oLogFile.Close Set oFSO = Nothing PreSourceMain = DTSTransformstat_OK End Function ' Copy each source column to the destination column Function Main() DTSDestination("Orders") = DTSSource("Orders") DTSDestination("Phone") = DTSSource("Phone") DTSDestination("CompanyName") = DTSSource("CompanyName") DTSDestination("ShipperID") = DTSSource("ShipperID") DTSGlobalVariables("TotalRows").Value = _ DTSGlobalVariables("TotalRows").Value + 1 MsgBox "Row #: " & DTSGlobalVariables("TotalRows").Value Main = DTSTransformStat_OK End Function Function TransFailureMain() TransFailureMain = DTSTransformstat_OK End Function Function InsertSuccessMain() InsertSuccessMain = DTSTransformstat_OK End Function Function InsertFailureMain() InsertFailureMain = DTSTransformstat_OK End Function Function BatchCompleteMain() DTSGlobalVariables("TotalBatches").Value = _ DTSGlobalVariables("TotalBatches").Value + 1 MsgBox "Batch #: " & DTSGlobalVariables("TotalBatches").Value BatchCompleteMain = DTSTransformstat_OK End Function Function PumpCompleteMain() Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set oFSO = CreateObject("Scripting.FileSystemObject") Set oLogFile = oFSO.OpenTextFile(DTSGlobalVariables("LogFile").Value, ForWriting) oLogFile.WriteLine "Total Rows:" & vbTab & DTSGlobalVariables("TotalRows").Value oLogFile.WriteLine "Total Batches:" & vbTab & DTSGlobalVariables("TotalBatches").Value oLogFile.Close Set oFSO = Nothing PumpCompleteMain = DTSTransformstat_OK End Function Function PostSourceMain() PostSourceMain = DTSTransformstat_OK End Function Этот простой пример демонстрирует разделение записей на блоки, и сохранение общего числа блоков и записей в файл журнала. Он призван помочь Вам создавать свои, более сложные пакеты. Также, Вы можете изучить главу Phased Transformation Samples в SQL Server 2000 Books Online для получения дополнительной информации на эту тему (Вы найдете там примеры, демонстрирующие TransformFailed и InsertFailed). В следующей статье, мы рассмотрим ещё две задачи DTS. Статьи на русском языке
Data Mining - добыча данных Новые и обновлённые технические статьи Microsoft
BUG: You cannot start the SQL Server Agent Service for an instance of SQL Server or the SQL Server 2000 Desktop Engine that has the same instance name as the instance name of a previously uninstalled instance of the SQL Server 2000 Desktop Engine (Windows
Lack of 'compelling features' will slow Yukon adoption Sam Varghese Самые популярные темы недели
Tool Вы знаете что твориться на ваших 10-30+ серверах ?
MS Analysis Manager + InterBase 7
|
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||