- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 21 Gb 的数据库;其中 20 Gb 是文件 (FileStream),我已经从表中删除了所有文件,但是当我进行备份时,备份文件仍然是 21 GB。
为了解决这个问题,我提出了“释放未使用的空间”的想法。
所以我正在尝试收缩我的数据库,如下所示:
USE Db;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE Db
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (Db, 100);
GO
-- Reset the database recovery model.
ALTER DATABASE Db
SET RECOVERY FULL;
GO
SELECT file_id, name
FROM sys.database_files;
GO
DBCC SHRINKFILE (1, TRUNCATEONLY);
如果我在 XX 分钟后对数据库进行备份,那么备份文件大小为 1 Gb,我可以看到未使用的空间已成功清理。换句话说,上面的 Sql 代码工作正常(数据库在 XX 分钟后收缩)。
问题 我需要等到此查询(收缩操作)完成,所以我正在尝试执行以下操作:
SELECT percent_complete, start_time, status, command, estimated_completion_time, cpu_time, total_elapsed_time
FROM sys.dm_exec_requests
我在上述查询的结果中找不到任何关于 SHRINKFILE 命令的信息。
我做错了什么吗?为什么我看不到缩DB操作的进度?
我的主要问题是:如何才能等到 SHRINKFILE 完成?例如,我是否可以从我的 C# 代码查询发送,并且在该查询的结果中我将获得 SHRINKFILE 操作是否已完成的信息?
最佳答案
衡量 DBCC SHRINKFILE
进度的问题在于,引擎无法通过一致的方式了解收缩文件需要完成多少工作。理解这一点就是知道 DBCC SHRINKFILE
是如何工作的。基本上,过程是:
那么为什么这意味着 SQL Server 不知道需要完成多少工作呢?因为它不知道你的空白空间在文件中有多零碎。如果东西压缩得很好并且靠近文件的前面,收缩文件将很快消失。如果没有,可能需要很长时间。好消息是,一旦页面在文件中移动,它们就被移动了。取消收缩文件不会撤消/回滚这项工作,因此如果您有一个收缩文件运行了一段时间,然后在它完成之前将其终止,所有页面移动都将保持不变。这意味着您可以在几乎您离开的地方重新启动收缩文件(除非在文件中创建任何新页面)。
关于c# - DBCC SHRINKFILE 的进展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222514/
我正在创建一个必须使用system(const char*)函数来完成一些“繁重工作”的应用程序,并且我需要能够为用户提供粗略的进度百分比。例如,如果操作系统正在为您移动文件,它会为您提供一个进度条,
你好,我正在使用 post_controller 钩子(Hook)来验证用户是否登录但是当验证失败时,我将用户重定向到登录 Controller ....现在的问题是当它重定向到默认 Controll
你好,我正在使用 post_controller 钩子(Hook)来验证用户是否登录但是当验证失败时,我将用户重定向到登录 Controller ....现在的问题是当它重定向到默认 Controll
是否可以显示页面加载需要多长时间。 @ 当我向服务器发送 post 请求时,我使用 post 通过 $ajax 发送它,并且 beforeSend 显示一条消息说我们正在加载您的页面。但是有时它会卡在
我有一个案例,我可能需要通过 WebSockets 向客户端发送 500KB - 1MB 的数据。因此,我想知道是否可以跟踪客户端接收到多少数据的进度。这样,当通过较慢的连接进行连接时,应用程序不会出
在我的应用程序中,我使用 LZMA SDK 压缩了大约 400Mb 的数据。当然,这需要一些时间。即使在大量谷歌搜索之后,我也无法找到任何有关如何获取压缩过程实时进度信息的信息。这是通过一些回调函数还
是否可以在 Jupyter Notebook 中看到 GridSearchCV 的进度?我正在 python 中运行这个脚本: param_grid = {'learning_rate': [0.05
我有一个工作文件上传表单,它使用 XMLHttpRequest 2 将文件上传到 Transloadit(一种文件处理服务)。进度事件在 Firefox 和 Chrome 中正确触发,适用于桌面和 A
这里很沮丧。我不是数据库管理员,但可以绕过。我正在针对 Progress OpenEdge 数据库编写一些 ODBC 查询,我们只能查看该数据库。很长一段时间以来都没有出现任何问题,直到最近他们更改了
如何获取 AFHTTPRequest 的进度?我试过在网上搜索。 我正在使用: AFHTTPRequestOperationManager *manager = [AFHTTPRequestO
有人知道这是否可行,或者有使用 Node.js 连接到 SonicMQ 代理的示例吗?我无法在网上找到任何信息或示例。 最佳答案 我建议使用 Sonic Connect 公开休息服务(需要 ESB)或
我是一名优秀的程序员,十分优秀!