【发布时间】:2019-11-25 20:37:07
【问题描述】:
我正在使用以下查询更改包含大约 1 亿条记录的表的列数据类型:
ALTER TABLE dbo.TARGETTABLE
ALTER COLUMN XXX_DATE DATE
当我从有效数据源插入原始日期时,列值的日期格式正确。
但是,查询已经运行了很长时间,即使我尝试取消查询,它似乎也需要很长时间。
谁能解释一下当执行 ALTER TABLE STATEMENT 时 SQL Server 的幕后发生了什么以及为什么需要这些资源?
【问题讨论】:
-
在幕后,SQL Server 会在列中存在的每个文本日期上执行类似
TRY_CONVERT的操作。对 1 亿个值执行此操作需要时间,仅此而已。
标签: sql-server database database-schema ddl alter-column