将nvarchar(4000)转换为nvarchar(max)

时间:2010-06-02 13:42:21

标签: sql-server database nvarchar

我们的SQL Server(2005& 2008)数据库中有几个表,其列定义为nvarchar(4000)。我们有时需要能够存储更多的数据,并考虑使用nvarchar(max)。现在回答问题。

  1. 我们应该知道有任何性能影响吗?
  2. 使用“alter table”进行实际迁移是否安全?还是有另一种方法吗?
  3. 我们转换前还应该知道的其他事情吗?
  4. 此致 约翰

2 个答案:

答案 0 :(得分:9)

我们必须在一些地方做到这一点

  1. 我们没有看到任何表现点击,自改变以来已经过了5周
  2. 只要在转换过程中没有写入表格,
  3. 'Alter table'就可以了。
  4. 请确保备份以防万一,根据表格中的数据量,可能需要一段时间

答案 1 :(得分:1)

如果文本不适合包含其余数据的页面,则文本将存储在另一页中。这会导致额外的数据库页面读取。因此性能可以/将会更慢。在负载较重的系统上,响应时间非常有限,可能。

SQL Server Management Studio可能会重命名当前表,使用新布局创建新表,复制数据,删除旧表。 这可能很慢。

我不知道alter table是否有用。