Фон
Мы используем SQL Server Data Tools (SQL Project), предназначенный для SQL Server 2012, который использует DACPA C для публикации sh в в различных средах.
Проблема
Каждый раз, когда мы публикуем sh SSDT, синонимы удаляются и воссоздаются заново на основе сгенерированного сценария publi sh. Мы хотим предотвратить это, поскольку у нас есть хранимая процедура, которая отвечает за установку правильных целевых синонимов для каждой среды.
GO
PRINT N'Dropping [dbo].[MY_SYNONYM]...';
GO
DROP SYNONYM [dbo].[MY_SYNONYM];
GO
PRINT N'Creating [dbo].[MY_SYNONYM]...';
GO
CREATE SYNONYM [dbo].[MY_SYNONYM] FOR [MY_DEFAULT_TARGET];
Я пробовал установить действие сборки синонимов на что-нибудь еще, кроме Build
, но это вызывает проблему с компилятором и приводит к неудачной сборке.
Наша основная цель - предотвратить повторное создание синонимов для синонимов, которые не изменили цели. Мы знаем, что можем справиться с этим в нашей хранимой процедуре, используя sys.synonyms
для сравнения. Любая помощь приветствуется, спасибо.
EDIT:
Я вижу ff в расширенных настройках Publi sh, но мы не хотим включать Drop objects in target but not in source
. Мы хотим, чтобы синонимы в проекте не создавались повторно во время публикации sh.
DoNotDropSynonyms