- SQL
- Transact-SQL
- міграція даних
- SQL Server
Є кілька БД, розташованих в різних регіональних філіях, з однаковою структурою. Найбільша і використовує максимум функціональності - московська БД, в інших обсяги даних менше, і не всі можливості (в зв'язці з програмою-клієнтом) використовуються.
Проблема міграції полягає в тому, що в якості первинних ключів використовуються інтежеровскіе лічильники і, відповідно, ключі таблиць унікальні тільки в межах однієї БД. База досить велика - багато пов'язаних таблиць і збережених процедур, плюс клієнтську програму.
Цікавить, які існують можливі варіанти рішень для подібного роду завдань.
UPDATE
Дякую всім за поради.
Сподобалася ідея зі зміною зовнішніх ключів на "on update cascade". Знайшов і допрацював скрипт, що генерує SQL-код спочатку для видалення, потім для створення заново констрейтов (зі збереженням параметрів і заміною тільки on update) з подальшим їх чеком. Але в процесі тестування з'ясувалося, що в разі декількох зовнішніх ключів між двома таблицями (наприклад, UserCreatorID, UserEditorID) все, крім першого fk, повинні бути no action. І на жаль, таких випадків досить багато.
Перехід на GUID'и пораховано недоцільним, так як доведеться доопрацьовувати ще й клієнтські програми.
Зараз вирішуємо, чи працювати з різними діапазонами ключів, або їх регенерувати з використанням допоміжних полів. Але так як встала інша термінове завдання, питання міграції на єдиний сервер відкладений на деякий час.