AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.08.2007, 14:59   #1  
online
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,656 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Lightbulb Распределенная база данных на основе View
Не уверен, что вопрос относится к собственно "программированию", но, тем не менее... Необходимо оценить жизнеспособность описанной ниже идеи организации базы данных на MS SQL 2000 или MS SQL 2005.

Создается специальная база данных MS SQL в которой вместо всех, т.е. вообще ВСЕХ таблиц (ну, может за некоторым исключением) создаются VIEW с тем же именем и той же структурой вида

PHP код:
CREATE VIEW dbo.MyTable
AS
SELECT Field1,Field2,DataAreaId,RecId
FROM DataBase1
.dbo.MyTable
UNION ALL
SELECT Field1
,Field2,DataAreaId,RecId
FROM DataBase2
.dbo.MyTable 
Т.е. эта специальная база даных собирает информацию из нескольких баз данных MS SQL. Получаем распределенную базу данных. Понятно, что можно указать в качестве источника и Linked-сервера. Т.е. вообще физически удаленные сервера.

Далее собствено AXAPTA подкладываем в качестве базы данных эту "сводную" базу данных. Т.е. AXAPTA "думает" что обращается к таблице MS SQL, но на физическом уровне обращение идет через View.

Эксперимент проводился на AXAPTA 2.5 SP3 + MS SQL 2005.

ЭТО РАБОТАЕТ! Как на чтение (что ожидаемо), так и на запись (нужны определенные настройки таблиц и дополнительный CONSTRAINT). Пока, разумеется, как тестовый пример на нескольких таблицах.

Также понятно, что при "падении" одной базы "упадет" и эта общая база. Просто View не сможет сделать выборку. Вопрос о другом.


Какие проблемы могут быть собственно в AXAPTA при работе с такой базой?


Конечная цель - получить хранение разных компаний физически в разных базах MS SQL. Но с общими справочниками и возможностью взаимодействия между базами (копирование некоторых данных)

Т.е. предполагается, что в разных базах MS SQL будут данные с разным (не пересекающимся) значением DataAreaId. Виртуализированные таблицы будут хранится в какой-то одной базе (отпадает проблема синхронизации справочников). А вопрос взаимодействия решается штатным ChangeCompany().
Теги
faq, view, распределенная база данных

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Невозможно выполнить команду языка определения данных в () iHomer13 DAX: Программирование 8 18.07.2008 10:56
База данных в Axapta 3.0... gyvenor DAX: Администрирование 13 07.12.2006 19:58
Обновление данных в View rrkrivov DAX: Программирование 5 08.04.2005 20:56
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:37.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.