Встала задача по настройке ежедневной синхронизации БД 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
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. Переходим на закладку "Шаги":
2. Создаем новое Задание.3. На закладке "Основное" задаем имя Задания4. Переходим на закладку "Шаги":
- Первым шагом выполняем синхронизацию списков SharePoint и SQL Server Database посредством выполнения SSIS пакета передачи данных.
- Последующими шагами обновляем БД olap-кубов.
5. В поле "Тип" выбираем "Команда служб SQL Server Analysis Services"
6. В поле "Сервер" указываем сервер служб Analysis Services.
7. В поле "Команда" прописываем, где My_relationBD_for_Olap - имя реляционной БД, куда разворачивается куб.
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>
<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. Не дожидаясь срабатывая Задания по расписанию запускаем его и смотрим результат.
9. Не дожидаясь срабатывая Задания по расписанию запускаем его и смотрим результат.