Visual Studio Database Edition:导致“ModelException:至少需要一个标识符。”的原因是什么?

问题描述 投票:5回答:4

我们在Visual Studio 2008中有一个一直运行良好的数据库项目。然而,出乎意料的是,部署停止了工作。这是我们得到的错误:

EZTrac.Database.dbschema:部署错误TSD01234:Microsoft.Data.Schema.SchemaModel.ModelException:至少需要一个标识符。

我们在各处试图调试这个问题。抛出到输出窗口的例外过于通用,无法实际解密任何内容。我知道当模型出现问题时会抛出'ModelException',但我不知道从哪里开始查找。

有谁知道是什么原因引起的?

alt text

编辑:

我们现在有关于此的MSDN Premier支持。已经过了大约4天,他们还没弄清楚。如果我得到一个解决方案,我会用解决方案更新。

.net visual-studio visual-studio-2008 visual-studio-2008-db
4个回答
1
投票

经过Microsoft Premiere支持的大量来回故障排除后,我们被告知我们在Visual Studio的数据库版本中发现了一个错误。我们在解决之前放弃了,最后在我们的解决方案中使用数据库项目的一部分进行报废。

Microsoft的官方解决方法是使用一个帐户部署数据库项目,该帐户能够查看授予部署帐户VIEW DEFINITION权限的帐户。


0
投票

您是否尝试从当前最新的数据库重新生成数据库项目?我们没有遇到这个问题,但是如果项目只包含部署到数据库本身的对象,那么您应该能够从数据库的另一个方向重新创建它。

我知道这不太理想,但我不确定什么可能会导致同步或从您的项目中消失,从而导致此错误。


0
投票

你的SQL服务在运行吗?这看起来像我的服务死亡时得到的错误。


0
投票

部署数据库项目时,它会生成一个SQL脚本文件(此文件的名称在输出窗口中给出)。

如果您打开该文件,您实际上应该能够注释掉代码块,直到找出出错的地方为止。

我发现困难的一件事是,Post-Deployment.SQL文件在SQLCMD模式下运行,并且它不会在您使用语法调用的每个文件的末尾附加一个空行 -

:r 'Filename.sql'

所以你必须在所有的.SQL文件中添加空行 - 我甚至将其创建为创建表,索引,约束等的空白行。

© www.soinside.com 2019 - 2024. All rights reserved.