我在MSSQL Server中为同一个数据库提供了2个.bak
个文件。一个是测试快照,另一个是生产快照。测试一个大约500 MB,生产一个大约10 GB。这是因为Test one有许多表被截断。当我在sql server中恢复它们时,会在.mdf
文件夹中创建一个\Microsoft SQL Server\MSSQL.1\MSSQL\Data
文件。但我发现.mdf文件的sze大约是10 GB,即使我只恢复测试快照。由于测试快照有许多表被截断且数据较少,我认为.mdf文件的大小应该小于生产快照的大小。但事实并非如此。 sql server是否在mdf文件中保留空间,因此两个版本的大小相同?
答案 0 :(得分:2)
是的确有预留空间。您可以在create database页面和稍后的属性页面中看到这一点。
答案 1 :(得分:2)
恢复数据库时,它会从sys.database_files
读取大小。页面被放回到相同的相对位置。
除非你真的缺少磁盘空间,否则我会留下它......但是如果它让你感觉更好,你可以缩小文件
你正在使用(球场数据)64,000页,但保留了12,800,000
答案 2 :(得分:1)
我认为您需要在数据库上运行以下内容。