2015-05-25 3 views
0

Я испытываю странные ошибки при попытке построить проект из решения db.Внештатное поведение VS 2013 в проекте T-SQL

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].

Но в проекте есть только одна таблица с этим именем.

и т.д ..
~ 1,7k ошибки в 10 проектах.

Это происходит во всем решении, когда я просматриваю/создаю Visual Studio. SSMS принимает код и успешно выполняет его, поэтому он кажется проблемой только с VS.

Что происходит, и как его разрешить?

ответ

0

О первых ошибках,

SQL71508: модели уже есть элемент, который имеет такое же имя dbo.partner2_log_status

означает, что «dbo.partner2_log_status» был использован по крайней мере, еще раз в вашем проекте.

Для решения этой проблемы необходимо проверить все таблицы, в которых использовалась переменная с тем же именем, и удалить ее. Это может быть внутри другого Ограничения.

+0

Нет, я обновлю вопрос, чтобы уточнить его – evictednoise

0

Я знаю, что это старый вопрос, но я искал и искал какое-то время. У меня было 1 проект базы данных в моем решении, что я пытался добавить папку с несколькими скриптами. Внезапно проект не будет построен (хотя я не устанавливал эти сценарии, чтобы не строить). Я получал ошибки SQL, упомянутые в исходном вопросе, для каждого объекта в базе данных. Каждая таблица, поле, ограничение, представление и т. Д. Сообщалось как уже в модели. Я удалил папку и скрипты, которые я добавил, но она по-прежнему не создавалась. Перезапущенный VS, сбросьте мою ветку git и все, что я мог придумать. Все те же ошибки.

я, наконец, наткнулся на этот пост: SQL Database Project: build different scripts depending on build configuration

Он упоминает файл кэша dbmdl. Я пошел и удалил этот файл в моем каталоге проекта, а следующая сборка работала как шарм. Возможно, это поможет кому-то другому получить эту ошибку, если на самом деле не определены дублированные объекты.