1

我有一个生产数据库,我需要在列设计中将其从 varchar 更改为 nvarchar。我知道我可以强制它重新创建设计并保存它,但这样做是个好主意吗?

可能的结果和任何其他建议是什么?

更新:它的 SQL Server 2008

4

4 回答 4

0

我建议从生产数据库创建一个测试数据库并运行脚本来更新字段类型。

于 2012-05-10T05:00:18.620 回答
0

@Ye Myat Aung,您可以直接将数据类型从 varchar 更改为 nvarchar。无需重新创建结构。只需注意列的大小,因为 nvarchar 以 unicode 格式保存数据,它几乎是 varchar 的两倍。

于 2012-05-10T04:57:40.637 回答
0

您应该遵循以下步骤:

  1. 在设计视图中打开表。
  2. 现在您在设计时将数据类型从 varchar 更改为 NVarchar,而不是保存它。
  3. 现在您按标题栏左上角的“更改生成脚本”。
  4. 保存脚本并执行它。

这是生产服务器避免任何数据丢失的最节省的解决方案。

于 2012-05-10T07:37:37.753 回答
0

如果您将使用 Visual Studio 数据库版本来生成部署脚本,这将自动为您创建。但是,它在后面的作用如下
1) 使用新定义创建表。只需使用 {TableName}_new 命名您的表。
2)像在旧表上一样创建索引
3)像在旧表上一样创建触发器(并禁用它们)
4)将数据从旧表复制到新表。
5) 通过将 _old 附加到表名来重命名旧表
6) 通过从名称中删除 _new 来重命名新表

于 2012-05-10T11:28:14.447 回答