当尝试从数据库解决方案构建项目时,我遇到了奇怪的错误。
。我有一个表
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缓存文件。我删除了我的项目目录中的那个文件,下一个构建就像魅力一样成功了。也许这将帮助其他人得到这个错误,当没有实际重复的对象定义