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

时间:2009-09-24 16:03:45

标签: .net visual-studio visual-studio-2008 visual-studio-2008-db

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

  

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

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

有谁知道造成这种情况的原因是什么?

alt text

修改

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

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您的SQL服务是否正在运行?这看起来像我服务终止时的错误。

答案 3 :(得分:0)

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

如果您打开该文件,您实际上应该能够注释掉代码块,直到找出问题所在。

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

:r 'Filename.sql'

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