Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在延迟删除操作后获得新的数据库大小?_Sql Server_Tsql - Fatal编程技术网

Sql server 如何在延迟删除操作后获得新的数据库大小?

Sql server 如何在延迟删除操作后获得新的数据库大小?,sql-server,tsql,Sql Server,Tsql,我们一直在使用sys.database_files视图和FILEPROPERTY函数来获取数据库的大小。不幸的是,正如我刚刚在中发现的,sys.database_文件返回的值并不总是可靠的: 当您删除或重建大型 索引,或删除或截断大型 表,则数据库引擎延迟 实际页面解除分配及其 关联锁,直到 事务提交。延期付款 操作不释放已分配的资源 马上离开。因此, sys.database\u文件返回的值 落下或落下后立即 截断大型对象可能不会 反映实际磁盘空间 可用。更多信息 关于递延分配,请参阅 因此

我们一直在使用sys.database_files视图和FILEPROPERTY函数来获取数据库的大小。不幸的是,正如我刚刚在中发现的,sys.database_文件返回的值并不总是可靠的:

当您删除或重建大型 索引,或删除或截断大型 表,则数据库引擎延迟 实际页面解除分配及其 关联锁,直到 事务提交。延期付款 操作不释放已分配的资源 马上离开。因此, sys.database\u文件返回的值 落下或落下后立即 截断大型对象可能不会 反映实际磁盘空间 可用。更多信息 关于递延分配,请参阅


因此,如果刚刚删除了一个大表,那么何时可以可靠地查询sys.database_files视图?我要等多久?

您可以使用
系统分配单元
DMV

当延迟下降暂停时,分配单位仍将显示在
类型
列中