use*_*eve 5 sql-server-2008 sql-server
我正在将数据库从实时环境复制到测试环境。我已经从实时数据库创建了一个 .bak 文件并将该文件复制到测试服务器。
问题是,我应该使用“恢复数据库”将其添加到测试服务器还是“恢复文件和文件组”?
(有时数据库已经存在,有时则不存在。在任何一种情况下,我只想拥有原始数据库的克隆,而不关心覆盖)
经过一番尝试后,它似乎都达到了我想要的效果 - 那么真正的区别是什么,我针对我的情况使用哪种方法重要吗?
小智 6
简短的回答- 除非它是一个巨大的 SQL 数据库,并且您正在用它做一些聪明的事情,然后忽略文件组备份,并坚持使用数据库备份。
长答案- 使用 SQL Server,您拥有数据库和文件组,数据库包含该数据库中的所有数据,并且非常好且直接。另一方面,文件组包含数据库中的全部或部分数据。文件组保存构成数据库的物理文件(例如mdf 文件),并且在大多数情况下只有其中之一,通常称为主文件组,其中包含所使用的一个mdf。
现在,在大型安装中,您可能会发现数据库 mdf 文件太大,无法容纳在一个磁盘上,因此您可能希望将数据库拆分为多个 mdf 文件,此时文件组就开始发挥作用。如果您将所有经常使用和更新的表拆分到快速 HDD 上的一个 mdf 中,并将其放入主文件组中,然后将较少使用的、更多用于参考的表放入辅助文件组中的较慢 HDD 中,您可以最好地利用系统,但是您可能不想费心备份辅助 mdf,因为该文件中的数据很少发生更改。因此,您可以选择执行文件组备份而不是完整的数据库备份,并且仅备份主文件组,从而减少备份所需的存储空间量。