2011-12-29 1 views
3

У меня есть две таблицы (некоторые так называемые словари, всего около 50 записей, которые, как я полагаю), которые я хочу «разделить» между двумя базами данных в одном экземпляре MS sql express. Поскольку я не могу использовать кросс-базу внешних ключей и не использовать внешние ключи с представлением, я решил дублировать данные в таблицах, однако я понятия не имею, как это сделать;) Каким будет лучший способ синхронизировать их ? Было бы лучше (и возможно сделать) с триггерами (т. Е. Одной главной таблицей, которую я бы изменил, а во второй таблице были применены изменения), или мне нужно сделать это в приложении-levell?внешние ключи между базами данных, дублирующая таблица

+0

Триггеры будут работать и, вероятно, имеют наибольший смысл, если не будет большого количества данных. – thinkdevcode

ответ

0

Что думающий код в комментарии (не могу принять комментарий сейчас, могу ли я): Триггеры будут работать и, вероятно, имеют наибольший смысл, если не будет большого количества данных. -

1

Вы должны иметь возможность вызывать таблицу в отдельной базе данных на одном сервере.

Адрес для таблицы из другой базы данных будет databasename.schema.tablename.

Вы можете даже сделать это через серверы, если у вас установлена ​​настройка linked servers - тогда схема именования будет servername.databasename.schema.tablename.

+0

Да, но мне все же придется использовать ограничения вместо отношений с внешним ключом? – trakos

+0

@trakos - внешние ограничения ** ограничения ** не поддерживаются между серверами/базами данных, насколько мне известно. Вы можете подделать его, используя представления. – Oded