par*_*ent 23 ssis sql-server-2012
我正在尝试生成数据库中所有数据的脚本,因此我可以将数据移动到另一台服务器上的相同数据库.在SQL Server 2012中,我右键单击源数据库
任务>生成脚本>脚本整个数据库和所有数据库对象>高级>脚本的数据类型:仅限数据
这给了我一个关于Cyclic依赖的错误.如果我将数据类型更改为脚本到架构和数据,它会生成正常的.如何解决此问题仅适用于数据?
操作结果从MyDatabase获取对象列表失败
详细报告:
Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException:脚本编写对象时发生错误.---> Microsoft.SqlServer.Management.Smo.SmoException:找到循环依赖项.在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary
2 dictionary, List1 sortedList,HashSet1 visited, HashSet1 current)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary2 dictionary, List1 sortedList,HashSet1 visited, HashSet1 current)在Microsoft .SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer2 dictionary) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(List.Management.Smo.SmoDependencyOrderer.SortDictionary (Dictionary 1 objectList,Dictionary2 idDictionary, DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ExecuteQueryUsingTempTable(List1 objectList,List 1 urns1 list, String query) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveTableOnlyDependencies() at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveDependencies() at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.Order(IEnumerable)位于Microsoft.SqlServer.Management.Smo的Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript(IEnumerable1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker(List1 urns,ISmoScriptWriter writer). Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript(ScriptOutputOptions)中的ScriptMaker.Script(Urn [] urns,ISmoScriptWriter writer)outputOptions)---内部异常堆栈跟踪结束---位于System.ComponentModel的System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)的Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender,DoWorkEventArgs e). BackgroundWorker.WorkerThreadStart(Object参数)
Aza*_*zat 27
对我有用的可能解决方案之一是生成脚本"Schema and data"而不是"Data only".然后我可以删除所有不必要的模式,只留下数据.希望这也有帮助.
我有同样的错误...请在此处查看我的答案:http://mattslay.com/ssms-generate-scripts-data-only-cyclic-dependencies-found-error/
然后,一时兴起,知道我之前已成功编写此数据库的脚本,我使用Sql Server Management 2008 R2连接到Sql Server 2012实例,并且我能够无错误地生成脚本!
请注意,我只做了数据,我不得不允许它编写所有数据库对象的脚本.我试图只选择某些表,但这给了一些我不愿意追踪的其他错误,所以我只做了整件事.
我遇到了同样的问题,并且没有安装 SSMS 2008 R2 来执行马特建议的操作。所以我所做的是更改高级设置,让它创建架构和数据,并将其设置为检查对象是否已经存在。我将大多数其他内容设置为 false(即主键、唯一键等),以便 sql 文件中的所有内容都是基本的 create table 语句和 insert 语句。由于它在创建表之前检查表是否已经存在,如果表已经存在,您可以运行脚本。所以它的行为就像它只是插入语句一样。如果您为多个选定的表创建单个 sql 文件,它会将所有表创建块放在脚本的顶部,因此如果需要,在创建文件后删除所有这些块很容易。
| 归档时间: |
|
| 查看次数: |
8243 次 |
| 最近记录: |