我们在Visual Studio 2008中有一个一直运行良好的数据库项目。然而,出乎意料的是,部署停止了工作。这是我们得到的错误:
EZTrac.Database.dbschema:部署 错误TSD01234: Microsoft.Data.Schema.SchemaModel.ModelException: 预期至少有一个标识符。
我们在各处试图调试此问题。抛出到输出窗口的例外过于通用,无法实际解密任何内容。我知道当模型出现问题时会抛出'ModelException',但我不知道从哪里开始查找。
有谁知道造成这种情况的原因是什么?
修改
我们现在有关于此问题的MSDN Premier支持。已经过了大约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文件中添加空白行 - 我甚至将其创建为创建表,索引,约束等的那些。