【问题标题】:VS 2013 strange behavior in T-SQL projectVS 2013 T-SQL 项目中的奇怪行为
【发布时间】:2015-05-25 11:11:15
【问题描述】:

我在尝试从 db 解决方案构建项目时遇到奇怪的错误。

EG。我有一张桌子

CREATE TABLE [dbo].[partner2_log_status] (
    [rec_id]     INT             IDENTITY (1, 1) NOT NULL,
    [log_status] INT             NULL,
    [log_msg]    NVARCHAR (4000) NULL,
    [log_count]  BIGINT          CONSTRAINT [DF_partner2_log_status_log_count] DEFAULT ((0)) NOT NULL,
    [sys_dt]     DATETIME        CONSTRAINT [DF_partner2_log_status_sys_dt] DEFAULT (getdate()) NOT NULL,
    CONSTRAINT [PK_partner2_log_status] PRIMARY KEY CLUSTERED ([rec_id] ASC)
);

这就是我得到的:

SQL71508:模型已经有一个同名的元素 dbo.partner2_log_status。
SQL71501:默认约束:[ dbo].[DF_partner2_log_status_log_count] 对列 [dbo].[partner2_log_status].[log_count] 的引用未解决。

但是项目中只有一个同名的表。

等等等等...
10 个项目中出现约 1.7k 错误。

当我在 Visual Studio 中查看/构建时,整个解决方案都会发生这种情况。 SSMS 接受代码,并成功执行,所以似乎只有 VS 才有问题。

发生了什么,我该如何解决?

【问题讨论】:

    标签: sql-server visual-studio-2013 schema-compare


    【解决方案1】:

    关于第一个错误,

    SQL71508:模型已经有一个同名的元素 dbo.partner2_log_status

    表示“dbo.partner2_log_status”在您的项目中至少再次使用过一次。

    为了解决这个错误,需要检查所有使用同名变量的表,并将其删除。它可能在另一个约束内。

    【讨论】:

      【解决方案2】:

      我知道这是一个老问题,但我一直在寻找和寻找一段时间。我的解决方案中有 1 个数据库项目,我曾尝试使用一些脚本向其中添加一个文件夹。突然,该项目无法构建(即使我将这些脚本设置为不构建)。对于数据库中的每个对象,我都收到了原始问题中提到的 SQL 错误。每个表、字段、约束、视图等都在模型中进行报告。我删除了我添加的文件夹和脚本,但它仍然没有构建。重新启动 VS,重置我的 git 分支,以及我能想到的任何其他事情。还是一样的错误。

      我终于看到了这个帖子:SQL Database Project: build different scripts depending on build configuration

      它提到了 dbmdl 缓存文件。我去我的项目目录中删除了那个文件,下一个构建就像一个魅力。当实际上没有定义重复的对象时,这可能会帮助其他人得到这个错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-19
        • 1970-01-01
        • 1970-01-01
        • 2012-06-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        相关资源
        最近更新 更多