четверг, 17 мая 2012 г.

Настройка синхронизации Share Point, Reporting Services и Analysis Services

Встала задача по настройке ежедневной синхронизации БД Share Point, Reporting Services и Analysis Services.
1. Создаем в SQL Server БД для хранения синхронизированных данных для Reporting Services.
Назовем её My_project_reporting
2. Создаем хранимую процедуру очистки всех таблиц БД.
Исходный код возьмем такой:
ALTER PROCEDURE [dbo].[ClearAll]
AS
BEGIN
DECLARE tables_cursor CURSOR
FOR SELECT name FROM sysobjects WHERE type = 'U'
OPEN tables_cursor
DECLARE @tablename sysname
FETCH NEXT FROM tables_cursor INTO @tablename
WHILE (@@FETCH_STATUS <> -1)
BEGIN
EXEC ('TRUNCATE TABLE [' + @tablename+']')
FETCH NEXT FROM tables_cursor INTO @tablename
END
DEALLOCATE tables_cursor
END
 3. Создаем в Business Intelligence пакет служб SSIS
- Первым его шагом будет выполнение хранимой процедуры очищения таблиц сервер.
- Далее последовательно пробрасываем данные из списков SharePoint в таблицы SQL Server.
4. Создаем необходимый куб\кубы данных и разворачиваем их на сервере. 
5. Далее требуется настройка синхронизации Sharepoint и наших служб отчетности.
Отдадим этот функционал SQL Agent'у.
_____
1. Ищем ветку SQL Server Agent - Задания
2. Создаем новое Задание.
3. На закладке "Основное" задаем имя Задания4. Переходим на закладку "Шаги":
  • Первым шагом выполняем синхронизацию списков SharePoint и SQL Server Database посредством выполнения SSIS пакета передачи данных.
  •  Последующими шагами обновляем БД olap-кубов.
5. В поле "Тип" выбираем "Команда служб SQL Server Analysis Services"
6. В поле "Сервер" указываем сервер служб Analysis Services.
7. В поле "Команда" прописываем, где My_relationBD_for_Olap - имя реляционной БД, куда разворачивается куб.
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">
        <KeyNotFound>ReportAndContinue</KeyNotFound>
        <KeyErrorAction>ConvertToUnknown</KeyErrorAction>
        <KeyErrorLimitAction>StopProcessing</KeyErrorLimitAction>
        <KeyDuplicate>IgnoreError</KeyDuplicate>
        <NullKeyConvertedToUnknown>IgnoreError</NullKeyConvertedToUnknown>
        <NullKeyNotAllowed>ReportAndContinue</NullKeyNotAllowed>
    </ErrorConfiguration>
    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">
        <Object>
            <DatabaseID>
My_relationBD_for_Olap</DatabaseID>
        </Object>
        <Type>ProcessFull</Type>
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
    </Process>
</Batch>
8. Переходим на закладку "Расписания" и указываем ежедневное обновление. (Мне удобнее в час ночи, т.к. нагрузка на сервер минимальная)
9. Не дожидаясь срабатывая Задания по расписанию запускаем его и смотрим результат.

Комментариев нет:

Отправить комментарий