Sql-Server

如何在不刪除索引的情況下更改列的數據類型;

  • February 9, 2021

我正在尋找將欄位的數據類型從 nvchar(20) 更改為 nvchar(MAX),但它保留了以下消息。

我的問題在這裡:刪除索引會影響數據嗎?我可以在刪除索引並更改數據類型後恢復索引嗎?下面截圖中的索引是唯一會被刪除的索引嗎?

我將不勝感激任何幫助:)

最好的,盧布納

在此處輸入圖像描述

索引中包含的列的數據類型不能更改,除非該列是 varchar、nvarchar 或 varbinary 數據類型,並且新大小等於或大於舊大小。

使用來自知識庫的這些資訊,建議可能是將列更改為 nvarchar(4000) 或類似的東西。請記住,您不能索引 varchar(max) 或 nvarchar(max) 欄位。

您應該做的是右鍵點擊索引並將創建語句編寫到新的查詢視窗。然後刪除索引進行列更改然後執行創建索引語句

我會提醒您,nvarchar(max) 將是一個相當昂貴的選擇,因為如果 nvarchar(100)(或 200)足夠,那將是一個更好的選擇,因為您執行的每個查詢所需的記憶體授權將急劇增加

引用自:https://dba.stackexchange.com/questions/285004