生成脚本时Management Studio出错

时间:2015-07-27 10:54:07

标签: sql-server azure ssms azure-sql-database

我尝试从我们的公司Azure SQL-Database生成脚本。正如我在使用Management Studio Client连接数据库两周前所做的那样,并在相关数据库的上下文中运行“生成脚本” - 向导。向导失败了“从'db'获取对象列表。”并指出了以下Stack Trace:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException:编写对象脚本时发生错误。 ---> System.InvalidCastException:Die angegebene Umwandlungistungültig。 Microsoft的Microsoft.SqlServer.Management.Smo.PropertyDispatcher.SetValue(Int32索引,对象值)中的Microsoft.SqlServer.Management.Smo.Table.Microsoft.SqlServer.Management.Smo.IPropertyDataDispatch.SetPropertyValue(Int32索引,对象值) Microsoft.SqlServer.Management.Smo上的Microsoft.SqlServer.Management.Smo.SqlSmoObject.AddObjectPropsFromDataReader(IDataReader reader,Boolean skipIfDirty,Int32 startColIdx,Int32 endColIdx)中的.sqlServer.Management.Smo.PropertyCollection.SetValue(Int32索引,对象值) .SqlSmoObject.ImplInitialize(String [] fields,OrderBy [] orderby)at Microsoft.SqlServer.Management.Smo.SqlSmoObject.OnPropertyMissing(String propname,Boolean useDefaultValue)at Microsoft.SqlServer.Management.Smo.PropertyCollection.RetrieveProperty(Int32 index,在Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetPropertyOptional(String propName)的Microsoft.SqlServer.Management.Smo.PropertyCollection.GetPropertyObject(Int32索引)处的布尔值useDefaultOnMissingValue Microsoft.SqlServer上的Microsoft.SqlServer.Management.Management.Smo.Column.GetPropagateInfo(PropagateAction操作)中的Microsoft.SqlServer.Management.Smo.Column.EmbedDefaultConstraints(),位于Microsoft.SqlServer的Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetPropagateInfoForDiscovery(PropagateAction操作)。在Microsoft.SqlServer.Management.Smo.ScriptMaker的Microsoft.SqlServer.Management.Smo.SmoDependencyDiscoverer.Discover(IEnumerable 1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.Discover(IEnumerable 1个urns)上的Management.Smo.SmoDependencyDiscoverer.GetScriptableChildren(List 1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker(List 1 discoveredUrns)。 Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript(ScriptOutputOptions outputOptions)上的Microsoft.SqlServer.Management.Smo.ScriptMaker.Script(Urn [] urns,ISmoS​​criptWriter writer)中的DiscoverOrderScript(IEnumerable var startPoint = new { Latitude = 1.123, Longitude = 12.3 }; var closest = entities.Something.OrderBy(x => 12742 * SqlFunctions.Asin(SqlFunctions.SquareRoot(SqlFunctions.Sin(((SqlFunctions.Pi() / 180) * (x.Latitude - startPoint.Latitude)) / 2) * SqlFunctions.Sin(((SqlFunctions.Pi() / 180) * (x.Latitude - startPoint.Latitude)) / 2) + SqlFunctions.Cos((SqlFunctions.Pi() / 180) * startPoint.Latitude) * SqlFunctions.Cos((SqlFunctions.Pi() / 180) * (x.Latitude)) * SqlFunctions.Sin(((SqlFunctions.Pi() / 180) * (x.Longitude - startPoint.Longitude)) / 2) * SqlFunctions.Sin(((SqlFunctions.Pi() / 180) * (x.Longitude - startPoint.Longitude)) / 2)))).Take(5); 1个urns,ISmoS​​criptWriter writer) )---内部异常堆栈跟踪的结束---在System.ComponentModel.BackgroundWorker.OnDo的Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender,DoWorkEventArgs e)在System.ComponentModel.BackgroundWorker.WorkerThreadStart(对象参数)上工作(DoWorkEventArgs e)

@@ VERSION-Query返回以下记录:

Microsoft SQL Azure(RTM) - 11.0.9231.13     2015年7月15日11:58:32     版权所有(c)Microsoft Corporation

以下是从SSMS-Help复制的一些其他信息:

Microsoft SQL Server Management Studio 12.0.4100.1 Microsoft Analysis Services客户端工具12.0.4100.1 Microsoft数据访问组件(MDAC)6.1.7601.17514 Microsoft MSXML 3.0 6.0 Microsoft Internet Explorer 9.11.9600.17843 Microsoft .NET Framework 4.0.30319.42000 操作系统6.1.7601

你能告诉我这里出了什么问题吗?

先谢谢。

艾伦

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。为了解决我切换到sql server可以编写的另一个目录。

为我工作。

我希望您解决问题,因为错误信息不明确。

答案 1 :(得分:2)

检查服务器可用空间。 我通过在服务器上释放可用空间解决了同样的问题。

答案 2 :(得分:1)

确保可以写入该文件夹中的文件。就我而言,我将脚本保存在C:\驱动器中,例如c:\ script.sql,在更改到另一个文件夹后,它可以正常工作。