如何跟踪SQL更新的进度?

假设我有一个更新,例如:
UPDATE [db1].[sc1].[tb1] 
  SET c1 = LEFT(c1,LEN(c1)-1) 
  WHERE c1 like '%:'

如果c1列中有一个,这个更新基本上会经历数百万行并修剪冒号.

如何跟踪表格的进展情况?

谢谢

这是sql server 2008

解决方法

数据库查询,尤其是数据操作语言(DML),是原子的.这意味着INSERT / UPDATE / DELETE成功发生,或者没有成功发生.没有办法查看正在处理的记录 – 在数据库中,一旦在UPDATE之后发出COMMIT,它们都已被更改.即使您能够查看正在处理的记录,当您看到该值时,查询也会进展到其他记录.

唯一的方法是知道在进程中将查询脚本编写在循环中的位置,这样您就可以使用计数器来知道处理了多少.这样做很常见,因此会定期提交大型数据集,以最大程度地降低因再次运行整个查询而导致失败的风险.

相关文章

本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的...
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中...
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册...
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看...