备份SQL Server架构的最佳方法

时间:2017-09-17 13:23:26

标签: sql-server schema backup

备份SQL Server架构的最佳方法是什么? 我的架构包含(文件组,文件流,表,表之间的关系,约束,用户......)

我想备份架构及其相关对象,因此我可以稍后将其还原到同一个数据库或具有其他架构和对象的其他数据库。

我尝试使用文件组备份,因为它有一些限制(数据库必须是完全恢复模式,必须备份主文件组和日志),但我想一次只备份一个模式。

有没有人知道备份架构到文件(访问或任何格式)或任何方式。

3 个答案:

答案 0 :(得分:1)

您可能希望在Microsoft将架构引入SQL Server时查看此document

最简单的答案是数据库是备份和恢复的单位。 架构是安全的单位。

您应该备份整个数据库,而不仅仅是一个架构。

答案 1 :(得分:0)

在SSMS中右键单击数据库,然后选择“任务” - “备份...”选择保存整个架构的目标位置。我通常保存为.bak文件并将其保存在项目存档中。

答案 2 :(得分:0)

除非您有一个非常大的架构,否则只需编写脚本即可。 在SSMS中,右键单击您的数据库,然后选择“任务-生成脚本...”。 有一些对话窗口,您可以根据需要选择某些数据库对象。我不确定这是否涵盖文件组或文件流,但是否涵盖了您提到的所有其他数据库对象。您可以只用一张桌子尝试一下,看看会发生什么。

请注意,在“设置脚本选项”对话框中,单击“高级”,然后在模式窗口中向下滚动到“要脚本的数据类型”,并确保选择了“仅架构”。 您可以编写模式,数据或两者的脚本。如果您的数据库包含大量数据,并尝试编写脚本,几乎可以肯定会导致SSMS崩溃。您在评论中说过,您也想备份数据。这是我所知的唯一方法,无需备份数据库中的所有其他架构。

大多数其他选项不言自明。该工具将生成一个SQL脚本。您可以在一个空的数据库上运行它,以构建您编写脚本的数据结构(如果愿意,也可以只构建一个模式)

我希望这会有所帮助。