获取与其关系相关的sql server表的顺序

时间:2014-08-04 15:05:33

标签: sql sql-server import relationship relation

是否可以获取SQL Server中与其关系相关的表的顺序?

我想,当我创建插入Scrips时,ssms会为插入脚本设置一个顺序。但它们将按字母顺序创建到表名。

我的问题是,我必须改正导入机制,导入数据。现在我必须知道,在我可以导入下一个数据之前,我可以开始使用哪些表以及必须完成哪些表。

如果有200张表,概述有点重要。

也许有人有个主意。

由于

大卫

2 个答案:

答案 0 :(得分:1)

使用专为此类工作而设计的工具,您会好得多,特别是对于拥有200个表格的数据库。有一些免费工具可以做到这一点。想到的是SSDT(SQL Server数据工具)。它进行模式和数据比较。我经常用这个。它知道如何正确地订购更改,因此您不会收到FK错误等。

Red Gate是非常好的商业工具,可以进行架构和数据比较。但它们有点贵。就个人而言,除非你真的想编写自己的解决方案,否则我会检查一下像SSDT这样的东西。你会为自己省下很多悲伤。

答案 1 :(得分:0)

一个选项是使用以下命令封装sql语句:

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
GO

<your sql statements here>

EXEC sp_msforeachtable @command1='ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all'
go

如果您确切知道自己在做什么......