生成脚本 - 仅数据 - 发现循环依赖项错误 [英] Generate Scripts - Data only - Cyclic dependencies found error

查看:25
本文介绍了生成脚本 - 仅数据 - 发现循环依赖项错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为数据库中的所有数据生成一个脚本,这样我就可以将数据移动到另一台服务器上的相同数据库中.在 SQL Server 2012 中,我右键单击源数据库

I'm trying to generate a script of all the data in a database so I can move just the data over to an identical database on another server. In SQL Server 2012 I right click on the source database

任务 > 生成脚本 > 编写整个数据库和所有数据库对象的脚本 > 高级 > 编写脚本的数据类型:仅数据

这给了我一个关于循环依赖的错误.如果我将脚本的数据类型更改为模式和数据,它会生成正常.如何解决此问题以仅使用数据?

This gives me an error something about a Cyclic dependency. If I change the type of data to script to schema AND data it generates fine. How can I fix this to work with data only?

操作结果获取列表来自 MyDatabase 的对象失败

Action Result Getting a list of objects from MyDatabase Failed

详细报告:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException:编写对象脚本时出错.--->Microsoft.SqlServer.Management.Smo.SmoException:循环依赖成立.在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32num,Dictionary2 字典,List1 sortedList,HashSet1 访问过,HashSet1 当前)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32num,Dictionary2 字典,List1 sortedList,HashSet1 访问过,HashSet1 当前)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32num,Dictionary2 字典,List1 sortedList,HashSet1 访问过,HashSet1 当前)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32num,Dictionary2 字典,List1 sortedList,HashSet1 访问过,HashSet1 当前)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDictionary(Dictionary2字典)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(DataSetds) 在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(List1objectList, Dictionary2 idDictionary, DataSet ds) atMicrosoft.SqlServer.Management.Smo.SmoDependencyOrderer.ExecuteQueryUsingTempTable(List1objectList, List1 list, String query) atMicrosoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveTableOnlyDependencies()在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveDependencies()在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.Order(IEnumerable1骨灰盒)在Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript(IEnumerable1骨灰盒)在Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker(List1urns,ISmoS​​criptWriter 作家)在Microsoft.SqlServer.Management.Smo.ScriptMaker.Script(Urn[] urns,ISmoS​​criptWriter 作家)在Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript(ScriptOutputOptionsoutputOptions) --- 内部异常堆栈跟踪结束 --- 在Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object发件人,DoWorkEventArgs e) 在System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) 在System.ComponentModel.BackgroundWorker.WorkerThreadStart(对象论证)

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException: An error occurred while scripting the objects. ---> Microsoft.SqlServer.Management.Smo.SmoException: Cyclic dependencies found. at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num, Dictionary2 dictionary, List1 sortedList, HashSet1 visited, HashSet1 current) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num, Dictionary2 dictionary, List1 sortedList, HashSet1 visited, HashSet1 current) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num, Dictionary2 dictionary, List1 sortedList, HashSet1 visited, HashSet1 current) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num, Dictionary2 dictionary, List1 sortedList, HashSet1 visited, HashSet1 current) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDictionary(Dictionary2 dictionary) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(List1 objectList, Dictionary2 idDictionary, DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ExecuteQueryUsingTempTable(List1 objectList, List1 list, String query) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveTableOnlyDependencies() at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveDependencies() at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.Order(IEnumerable1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript(IEnumerable1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker(List1 urns, ISmoScriptWriter writer) at Microsoft.SqlServer.Management.Smo.ScriptMaker.Script(Urn[] urns, ISmoScriptWriter writer) at Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript(ScriptOutputOptions outputOptions) --- End of inner exception stack trace --- at Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

推荐答案

我遇到了同样的错误...在此处查看我的答案:http://mattslay.com/ssms-generate-scripts-data-only-cyclic-dependencies-found-error/

I had this same exact error... See my answer here: http://mattslay.com/ssms-generate-scripts-data-only-cyclic-dependencies-found-error/

然后,一时兴起,知道我之前已经成功编写了这个数据库的脚本,我使用 Sql Server Management 2008 R2 连接到 Sql Server 2012 实例,并且我能够正确生成脚本!!

Then, on a whim, knowing that I had successfully scripted this database before, I connected to the Sql Server 2012 instance using Sql Server Management 2008 R2, and I was able to generated the scripts without error!!

请注意,我只处理数据,并且必须允许它编写所有数据库对象的脚本.我试图只选择某些表,但这给出了一些我不愿意追踪的其他错误,所以我只做了整件事.

Note, that I did data-only, and I had to allow it to script all database objects. I tried to select only certain tables, but that gave some other errors that I wasn’t willing to track down, so I just did the whole thing.

这篇关于生成脚本 - 仅数据 - 发现循环依赖项错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆