Visual Studio 2008数据库项目在架构比较期间生成ALTER DATABASE

时间:2010-08-12 14:01:37

标签: sql-server visual-studio-2008 visual-studio-2008-db

我有一个新的Visual Studio 2008数据库项目(Data Dude)。它是通过指向我们现有的数据库生成的。我现在做了一些更改(新列,表,索引等),我正在尝试生成用于部署的部署(差异)脚本。我有一个Schema Comparison设置来进行比较并生成diff脚本文件。我想我已经调整了大部分比较设置和对象忽略了我需要的东西,但是,在顶部我得到了一些我不想生成的ALTER DATABASE命令。它们看起来像这样:

IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET ANSI_NULLS ON,
                ANSI_PADDING ON,
                ANSI_WARNINGS ON,
                ARITHABORT ON,
                CONCAT_NULL_YIELDS_NULL ON,
                QUOTED_IDENTIFIER ON,
                ANSI_NULL_DEFAULT ON,
                CURSOR_DEFAULT LOCAL 
            WITH ROLLBACK IMMEDIATE;
    END


GO
IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET PAGE_VERIFY NONE 
            WITH ROLLBACK IMMEDIATE;
    END


GO

我更愿意调整设置,以便我不必与我的15+成员团队沟通,他们需要在每次想要下拉并将最新版本部署到他们的差异文件时从差异文件中删除这些行环境。

有哪些设置可以控制它?

2 个答案:

答案 0 :(得分:4)

在保存发布配置文件之前,必须取消选中两个复选框。确保你去项目属性 - >调试并取消选中"部署数据库属性"

Click here to view screenshot

然后右键单击您的数据库项目 - >发布然后点击"高级"取消选中"部署数据库属性"

Click here to view screenshot

单击“确定”,然后单击“将配置文件另存为”,从现在开始,每次使用刚刚创建的发布配置文件部署生成的脚本时,只会包含所需的修改。

我在2016年4月20日使用VS 2013和最新的SSDT。

答案 1 :(得分:1)

在项目的.sqldeployment和.sqlsettings文件中有一些设置可以控制它(在解决方案资源管理器的项目的Properties文件夹中可用)。设置本身可以在.sqlsettings文件[DB Settings Screenshot]中进行调整,并且在查看.sqldeployment设置时,可以在第一个复选框中找到禁用整个数据库属性脚本生成的功能。 [SQL Deployment Settings Screenshot]