如何从数百个单独的脚本重建数据库模式?

pjb*_*n88 1 sql sql-server-2008

我请求客户端向我发送他们当前的MS SQL数据库的副本.我没有给出数据库备份或可用于重新创建数据库的一小组脚本,而是提供了数百个单独的SQL脚本,并且没有关于它们需要运行的顺序的说明.

脚本不能简单地在一个批处理操作中执行,因为表之间存在外键依赖关系.看起来好像他们将这些脚本限制为每个脚本创建一个表或存储过程.

通常情况下,我只是要求客户以更有用的格式提供信息,但他们并不知道是否及时回复我们,而且我们的项目时间表由于延迟而已经处于危险之中.

我可以使用任何工具从这组庞大的脚本中重新创建数据库吗?

Gor*_*off 5

这可能听起来有点神秘,但您可以迭代地执行以下操作:

  1. 将所有脚本放入"要运行的脚本"列表中
  2. 运行"要运行"脚本中的所有脚本
  3. 删除成功的运行
  4. 重复2-3直到没有脚本

没有依赖关系的脚本将在第一轮完成.在下一轮依赖它们的那些,然后依此类推等等.

我建议您使用metascript操作所有这些,使用数据库表来存储可用脚本的名称.

祝好运.