Sql server 然后选择所有任务->生成SQL脚本…

Sql server 然后选择所有任务->生成SQL脚本…,sql-server,sql-server-2000,sqltools,Sql Server,Sql Server 2000,Sqltools,在“选项”窗格中,可以方便地选择选项“为每个对象创建一个文件”,这样您就可以将每个对象分别存储在源代码管理中 因此,每当您对tableA进行一些更新时,您都可以在源代码管理中签出它,让其他人知道您正在处理它,并且在完成之后,您可以编写单个对象的脚本并保存签入 要编写单个对象的脚本,可以使用相同的选项所有任务->生成SQL脚本…,然后仅选择该对象 这种方法唯一的问题是,当您想要恢复完整的数据库时,您需要处理依赖对象,因为顶级对象必须在依赖它们的对象之前恢复 具有讽刺意味的是,当您将整个数据库编写到

在“选项”窗格中,可以方便地选择选项“为每个对象创建一个文件”,这样您就可以将每个对象分别存储在源代码管理中

因此,每当您对tableA进行一些更新时,您都可以在源代码管理中签出它,让其他人知道您正在处理它,并且在完成之后,您可以编写单个对象的脚本并保存签入

要编写单个对象的脚本,可以使用相同的选项所有任务->生成SQL脚本…,然后仅选择该对象

这种方法唯一的问题是,当您想要恢复完整的数据库时,您需要处理依赖对象,因为顶级对象必须在依赖它们的对象之前恢复

具有讽刺意味的是,当您将整个数据库编写到一个文件时,对象并不是按照依赖关系排序的,而是基于创建日期排序的。当您试图使用它来恢复完整的数据库时,这会导致错误

我们最终创建了批处理文件,该文件将分别创建每个对象,并调用“osql”

那时候一切都很顺利


现在我们使用它,它可以避免我们的麻烦,但是如果你不经常发布,你可以不用它。

如果它是一次性操作,你不想自己订购对象脚本

这是14天的完整工作版本,因此它将为您完成全部工作-这是完全合法的解决方案。您将拥有所有脚本,以便将来与手动脚本一起使用。无论如何,我非常确信,如果你发现这个工具有多方便,你会在以后的某个阶段购买它,而这正是他们可能希望通过提供完全有效的试用来实现的。我的情况就是这样


请注意,试用期满后,它会影响所有工具,因此请确保充分利用它。

不太清楚“创建设备”是什么意思,可能是数据库?。如果SQL帐户拥有足够的权限,则所有内容都可以编写脚本。感谢您的建议!我没有提到的另一个障碍是,我试图解决的直接问题包括客户端托管的数据库和环境锁定,在这些环境中,我必须跳过重重障碍才能安装软件。非常有用和相关的建议!非常好的建议。事实上,我曾经在一个项目中使用过这种策略——将create脚本签入VSS(希望我们使用的是可以签入版本集的东西,但通过标签解决了这一点)我希望我从中继承的开发人员能够做到这一点。实际上,我们将所有的CREATE命令都放在一个脚本中—这可能不是最好的方法,但它对于快速更改和文档编制非常有用。糟糕—我想我隐约记得一个依赖性问题。我猜整理这些东西不会有多大乐趣,因为我有200多张桌子。感谢您提供的有用回复。我们使用SQL Compare将我们的开发数据库与空白数据库进行比较,并从中获取脚本,该脚本可应用于任何空白数据库,使其与开发版本相同。该工具的作用远不止于此,尽管不一定便宜,但它是必不可少的。