【问题标题】:Generate SQL scripts from Azure SQL Database从 Azure SQL 数据库生成 SQL 脚本
【发布时间】:2013-09-18 20:27:48
【问题描述】:

当我尝试从我的 Azure 数据库中生成 SQL Server Management Studio 2012 中的脚本时。我收到以下错误:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException: 编写对象脚本时出错。 ---> Microsoft.SqlServer.Management.Sdk.Sfc.EnumeratorException: 失败 检索此请求的数据。 ---> Microsoft.SqlServer.Management.Sdk.Sfc.InvalidVersionEnumeratorException: 版本 11.0 SqlAzureDatabase 不支持操作。在 Microsoft.SqlServer.Management.Smo.XmlReadDoc.LoadFile(程序集一个, 字符串 strFile) 在 Microsoft.SqlServer.Management.Smo.SqlObject.LoadInitData(字符串文件, ServerVersion 版本,DatabaseEngineType databaseEngineType) 在 Microsoft.SqlServer.Management.Sdk.Sfc.ObjectCache.LoadElement(ObjectLoadInfo oli, ServerVersion ver, DatabaseEngineType databaseEngineType) 在 Microsoft.SqlServer.Management.Sdk.Sfc.ObjectCache.GetElement(ObjectLoadInfo oli, ServerVersion ver, DatabaseEngineType databaseEngineType) 在 Microsoft.SqlServer.Management.Sdk.Sfc.ObjectCache.GetAllElements(Urn 瓮,ServerVersion 版本,DatabaseEngineType databaseEngineType,对象 ci) 在 Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetObjectsFromCache(Urn 瓮,对象 ci) 在 Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData(请求 请求,对象 ci) 在 Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.GetData(对象 连接信息,请求请求)在 Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.Process(对象 connectionInfo, Request request) --- 内部异常栈结束 跟踪---在 Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.Process(对象 连接信息,请求请求)在 Microsoft.SqlServer.Management.Smo.ExecutionManager.GetEnumeratorData(请求 要求)在 Microsoft.SqlServer.Management.Smo.Server.GetLCIDCollat​​ion(字符串 排序规则名称)在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetComparerFromCollat​​ion(字符串 排序规则名称)在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetDbComparer(布尔 在服务器)在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.InitializeStringComparer() 在 Microsoft.SqlServer.Management.Smo.Database.PreInitChildLevel() 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.InitChildLevel(Urn levelFilter, ScriptingPreferences sp, Boolean forScripting) 在 Microsoft.SqlServer.Management.Smo.DatabasePrefetchBase.InitializeObjectCollection(字符串 类型)在 Microsoft.SqlServer.Management.Smo.DatabasePrefetchBase.d__1.MoveNext() 在 Microsoft.SqlServer.Management.Smo.SmoDependencyDiscoverer.SfcChildrenDiscovery(HashSet1 discoveredUrns) at Microsoft.SqlServer.Management.Smo.SmoDependencyDiscoverer.Discover(IEnumerable1 骨灰盒)在 Microsoft.SqlServer.Management.Smo.ScriptMaker.Discover(IEnumerable1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript(IEnumerable1 骨灰盒)在 Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker(列表`1 瓮,ISmoS​​criptWriter 作家)在 Microsoft.SqlServer.Management.Smo.ScriptMaker.Script(Urn[] urns, ISmoS​​criptWriter 作家)在 Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript(ScriptOutputOptions outputOptions) --- 内部异常堆栈跟踪结束 --- at Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(对象 发件人,DoWorkEventArgs e) 在 System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) 在 System.ComponentModel.BackgroundWorker.WorkerThreadStart(对象 论据)

我找到了这个帖子:Failed to generate scripts for Sql Azure database: "Getting the list of objects from : failed" 但我不能使用:http://cloudservices.red-gate.com/

【问题讨论】:

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


【解决方案1】:

尝试使用能够与 Azure 配合使用的 SQL Server 第三方工具。我认为 Red-Gate 的 SQL Compare 能够与 SQL Azure 一起工作,但我不能 100% 确定。您始终可以在试用模式下使用它来完成工作……

【讨论】:

  • 我在 Red Gate 工作,可以确认 SQL Azure 是 SQL 比较和 SQL 数据比较支持的数据源。
【解决方案2】:

SQL Azure 迁移向导也可能是您的一个选择。

http://sqlazuremw.codeplex.com/

【讨论】:

    猜你喜欢
    • 2017-05-24
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多