免责声明:在 SO 上有一个类似的问题,似乎是指旧版本的 SSDT。所选答案引用不在我的项目中的设置文件。我相信我正确设置了新项目格式中的等效设置。
我是 SSDT 的新手,我不相信它不会以意外的方式更改我的数据库。在以我想要的方式获得设置后,我尝试发布以查看它将尝试对我的数据库执行什么操作。我将这些语句添加到发布脚本中:
ALTER DATABASE [$(DatabaseName)]
SET ANSI_NULLS ON,
ANSI_PADDING ON,
ANSI_WARNINGS ON,
ARITHABORT ON,
CONCAT_NULL_YIELDS_NULL ON,
CURSOR_DEFAULT LOCAL,
RECOVERY FULL,
AUTO_UPDATE_STATISTICS ON
WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [$(DatabaseName)]
SET PAGE_VERIFY NONE
WITH ROLLBACK IMMEDIATE;
EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
SET TRUSTWORTHY OFF
WITH ROLLBACK IMMEDIATE';
我不希望数据库项目修改我的数据库设置,所以我在调试设置下未选中:
此外,在高级发布设置下:
在项目设置 | 数据库设置我使所有内容都与我的数据库匹配:
我怎样才能防止这种情况?