sql server语言 - VS 2013在T-SQL项目中的奇怪行为



当尝试从数据库解决方案构建项目时,我遇到了奇怪的错误。

。我有一个表

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: Default Constraint: [dbo]。[DF_partner2_log_status_log_count]对Column [dbo].[partner2_log_status].[log_count].

但是项目中只有一个表具有此名称。


等等……10个项目~ 17k个错误

当我在Visual Studio中查看/构建时,这发生在整个解决方案中。SSMS接受代码,并成功地执行它,所以这似乎只是vs的问题。

发生了什么,我如何解决它

关于第一个错误,

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

表示"dbo。Partner2_log_status"在您的项目中至少再使用一次。

为了解决这个错误,需要检查所有使用了同名变量的表,并将其删除。

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

我终于看到了这篇文章:SQL数据库项目:根据构建配置构建不同的脚本

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

相关内容

  • 没有找到相关文章

最新更新