SQL Server 2008 – 恢复数据库而不恢复事务日志(LDF)

我有一个完全恢复模式的生产数据库,其中MDF和LDF文件每个大约80GB。

我们有一个testing服务器,为了开发/testing目的,我们定期恢复这个数据库。

还原发生的那一刻,我们将恢复模式设置为“简单”,并在服务器磁盘空间不足的情况下收缩日志文件。

有没有办法将数据库直接恢复到简单模式,以便永远不会创build大的LDF文件?

很不幸的是,不行。

最好的办法是移动文件:不要调整它的大小,不要更改任何数据库设置

您总是可以将日志文件脚本编写成几小时内没有的东西,然后进行备份,然后重新resize。 这个操作是否依赖于服务器上的负载。

另一种方法是在开发/testing服务器上使用第三方工具,如Red Gate SQL Compress – 尽pipe增加更多的存储空间可能更为标准:

http://www.red-gate.com/products/dba/sql-storage-compress/

你可以做的一件事就是自己附上中密度纤维板。 也就是说,如果你有一个已经分离的mdf的副本:

http://msdn.microsoft.com/en-us/library/ms174385.aspx

可以使用sp_attach_single_file_db命令从mdf附加数据库,并为您创build一个空的ldf。 为了得到一个mdf的副本,你必须恢复原来的,并将其分离(可能会失败的目的?)或采取原来的离线,并复制MDF。 所以,也许它可能不适合你的情况,但它可能会帮助其他人在类似的情况。