小编Chr*_*art的帖子

将 nvarchar(max) 列更改为 nvarchar(50) 会锁定表吗?

我在 SQL Server (Azure) 中有一个包含 140 万行的表。

我想索引其中一列;但是,它的数据类型是nvarchar(max)(通过使用我想象的 EF 默认为这样)。我正在使用实体框架,并且可以进行迁移,将此数据类型更改为nvarchar(50).

我担心这需要多长时间,以及是否会导致锁定问题。我只扩展过列,所以我不确定会发生什么。我确实知道此列中的数据适合新尺寸。

我正计划创建数据库的副本并尝试一下。我也考虑过迁移到一个新列,但如果不是太痛苦,我更愿意更新当前列。

sql-server datatypes alter-table azure-sql-database

6
推荐指数
1
解决办法
2816
查看次数