小编典典

将INT更改为BigInt

sql

我有一个仓库表,里面有16吨数据。我有一些整数列。对于我们编写的每个查询,我们都必须将它们转换为BIGINT,因为SUM太大而无法容纳在INT中。

现在,我们正在开发一个新的数据集市。因此,我们认为,为什么不将所有这些列都更改为BIGINT呢?对于新的查询集,我们不必担心。

由于数据已经加载,因此我认为我将使用Management Studio并更改数据类型。但是我首先得到一个警告:

Saving Definition Changes to tables with large amounts of data could take a considerable amount of time. While changes are being saved, table data will not be accessible.

然后我得到一个错误:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

我该如何解决?


阅读 209

收藏
2021-04-15

共1个答案

小编典典

如果这些列中的一列或多列没有约束(例如外键,索引,默认值,规则等),则您应该能够通过以下方法快速更改每一列

ALTER TABLE monster ALTER COLUMN MyIntCol1 bigint

Management Studio的更改SQL很少是最高效的,并且倾向于使用临时表来进行任何修改现有列的操作。

2021-04-15