在SQL Azure数据库上使用SQLMetal

时间:2012-03-08 18:17:57

标签: azure sqlmetal

由于我不想讨论的原因,我们的主数据库架构目前仅在SQL Azure中。我们正在努力使用像Enzo Backup这样的工具在本地实现它(我们正在等待他们的开发人员修复我们在尝试下载时遇到的一些错误),但与此同时,我想生成一个Linq-to -SQL SQL数据库架构的SQL ORM映射。当我尝试这样做时,输出会生成一堆错误消息,如下所示:

  

警告:SQM1012:无法提取表格' dbo。[TableName]'从   SqlServer的。无效的对象名称' syscomments'。

是否可以从SQL Azure数据库生成ORM映射?

修改

请注意,即使在最新版本(2008 R2)中,从SSMS生成脚本也不起作用。当您尝试在SQL Azure数据库实例上生成脚本时,在生成的报告中出现以下错误,并且在处理第一个对象之前失败:

  

System.IndexOutOfRangeException:索引超出了范围   阵列。在   Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(对象   发件人,DoWorkEventArgs e)at   System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)at   System.ComponentModel.BackgroundWorker.WorkerThreadStart(对象   参数)

修改2

我只是尝试使用免费的SMOscript工具,它会生成相同类型的错误消息:

Objects in database [DatabaseName] on server [ServerAddress]:
Error: Index was outside the bounds of the array.

所以看起来很容易生成DDL脚本是不可能的,而且它在2008 R2的SMO级别针对SQL Azure DB而被打破。

1 个答案:

答案 0 :(得分:0)

看起来一切都追溯到SMO。我终于安装了2008 R2 SP1并在我的计算机上运行,​​看起来我能够正确生成脚本(最后)。感谢大家的帮助!