Что же вышло с СТР3 SQL Server 2008.
Стали приходить вопросы, что же вышло с СТР3, где то, сё.
Попробую тут коротко рассказать.
Change Data Capture (CDC)
Это компонент, который асинхронно следит за изменениями в базе данных ( за всякими Insert, Update, Delete) и по требованию предоставляет информацию об изменениях в достаточно «удобоваримом» виде – в виде таблиц, где эти изменения отражены.
Презентации на эту тему: Live Meeting 13.06.2007
Change Data Capture.
MERGERSQL
Новая для T-SQL команда, которая выполняет операции Insert, Update, Delete на целевой таблице, основываясь на результатах объединения (JOIN) этой таблицы с базовой таблицей или представлением. Синтаксис позволяет сначала объединить базовый ресурс с данными и результирующую таблицу или представление и потом выполнять различные операции над результатом объединения. Очень серьезное послабление для разработчиков больших хранилищ данных, которым приходилось отслеживать изменения в базовой целевой таблицы, что никак не назвать тривиальной задачей.
Презентацию на эту тему можно посмотреть здесь: Live Meeting on 29.062007
Пример:
|
SE AdventureWorks;
GO
MERGE Production.ProductInventory AS pi
USING (SELECT ProductID, SUM(OrderQty) FROM Sales.SalesOrderDetail sod
JOIN Sales.SalesOrderHeader soh
ON sod.SalesOrderID = soh.SalesOrderID
AND soh.OrderDate = GETDATE()
GROUP BY ProductID) AS src (ProductID, OrderQty)
ON (pi.ProductID = src.ProductID)
WHEN MATCHED AND pi.Quantity - src.OrderQty <> 0
THEN UPDATE SET pi.Quantity = pi.Quantity - src.OrderQty
WHEN MATCHED AND pi.Quantity - src.OrderQty = 0
THEN DELETE; |
Star Join Query Optimizations
Еще один типичный пример из области хранилищ данных. Star Join Query позволяет улучшить производительность путем уменьшения времени выполнения запроса. Это достигается тем, что оптимизатор может динамически применять «маски» фильтров в параллельных планах запросов. Это дает то, что, допустим, «не квалифицированные» строки таблицы будут «вынесены» оптимизатором из таблицы фактов в самом начале плана.
Презентация: Live Meeting 19.062007 Star Join Query Optimizations.
Table Value параметры и Table type переменные
Во многих реальных имплементациях требуется передать фактически несколько строк таблицы хранимой процедуре. Для решения такого типа задач была введена в T-SQL возможность задавать новый тип переменной: табличный. Этот тип поддерживает представление структуры таблицы как параметра в хранимой процедуре или функции. Ну а Table-Valued параметр позволяет осуществить передачу нескольких строк процедуре или функции.
Презентация на эту тему: Live Meeting 22.06.2007
Table Value Parameters.
Declarative Management
Новый инструмент для управления SQL Server Database Engine, основанный на политиках. Некоторые примеры того, что этот инструмент дает:
- Фактически автоматическое слежение за соответствием требованиям к системной конфигурации. (Допустим, при поднятии нового сервера – он автоматически получит «одинаковые» настройки с другими)
- Запрещение и отслеживание изменений в изменениях конфигураций.
Звучит достаточно страшно, но на практике выглядит все красиво. Нам показывали такой пример: задается политика, на то, какая структура разрешена в базе.
Типа: Sales, Product Name, Purchase Data.
Заетм человек идет и созадет запрос о типа CREATE TABLE, но добавляет туда столбец Product ID. И смело жмет GO.
И тут же получает ответ красными буквами через весь экран – не могу, типа. Полиси не разрешает.
Очень полезна штука.
Презентация:Live Meeting 26.06.2007
Declarative Management Framework.