我有一個生產數據庫,需要在列設計中將varchar從varchar更改爲nvarchar。我知道我可以強制它重新創建設計並保存它,但這樣做是個好主意嗎?在SQL Server中更改數據庫列設計
什麼是結果和其他建議?
更新:它的SQL Server 2008中
我有一個生產數據庫,需要在列設計中將varchar從varchar更改爲nvarchar。我知道我可以強制它重新創建設計並保存它,但這樣做是個好主意嗎?在SQL Server中更改數據庫列設計
什麼是結果和其他建議?
更新:它的SQL Server 2008中
@Ye妙昂,你可以直接從VARCHAR數據類型更改爲nvarchar來。無需重新創建結構。請注意列的大小,因爲nvarchar將數據保存在unicode中,它將幾乎是varchar的兩倍。
我會建議從生產數據庫創建一個測試數據庫,並運行腳本來更新字段類型。
您應該遵循以下步驟:
這是生產服務器避免數據丟失的最節省方案。
如果您將使用Visual Studio數據庫版本來生成部署腳本,它將自動爲您創建。但是,它在後面做的是如下
1)用新定義創建表。只需使用{TableName} _new命名您的表。
2)在舊錶上創建索引
3)創建舊錶上的觸發器(並禁用它們)
4)將數據從舊錶複製到新表。
5)通過附加_old表名
6)從名字
多大表丟棄_new重命名新表重命名舊錶?數據庫是否在不斷使用或者是否有超時的時間段,可以在不影響用戶的情況下運行更新? – GarethD