Я пытаюсь синхронизировать две базы данных, хранящиеся в SQL Server 2012. Я выполняю множество различных операций в исходной базе данных, таких как добавление таблиц и изменение структуры таблиц (добавление столбцов, изменение типов данных, изменение длины nvarchar). Есть ли способ синхронизировать все таблицы в одной и той же схеме, не выбирая их одну за другой, чтобы при добавлении / изменении таблицы в этой схеме она автоматически создавалась / изменялась в целевой БД?
Я пытался использоватьApexSQL, чтобы установить автоматизированную задачу синхронизации, я также попробовал dbForge Data Compare, чтобы установить ту же автоматизированную задачу, наконец, я попробовал SQL Server Replication. Они работают очень хорошо, когда я выбираю серию существующих таблиц, но когда я добавляю таблицу, которая не включена в объекты, которые в настоящий момент синхронизированы, ни у одной из них, кажется, нет настройки, которая автоматически добавляет ее в задачу синхронизации. Кроме того, при попытке изменить структуру таблицы, похоже, возникла проблема с репликацией SQL Server. Некоторые изменения, такие как удаление столбцов, успешно переносятся, а изменение длины nvarchar с помощью SQL невозможно, поскольку возникает ошибка в следующем коде:
ALTER TABLE MyTable ALTER COLUMN MyColumn nvarchar(MAX)
Когда я выполняю запрос, он выдает эту ошибку
Объект 'DF_MyTable_MyColumn' зависит от столбца 'MyColumn'.
ALTER TABLE ALTER COLUMN MyColumn не выполнен, поскольку одинили более объектов имеют доступ к этому столбцу.
Любое предложение ??