什么时候会弃用 ntext、text 和 image?
When will ntext, text, and image be deprecated?
我们目前正在从 SQL 服务器迁移到 Azure SQL,DMA 数据迁移助手已经标记了大量正在使用 TEXT 字段的表。
Ntext、text 和 image 被弃用 in future versions of SQL 但文档没有说明何时弃用。
如果我们忽略此警告并迁移到 Azure SQL 且 TEXT 字段完好无损,目的是随着时间的推移将 TEXT 迁移到 VARCHAR,是否会有任何直接的缺点?
如果 Azure SQL 将来某个时候停止使用 TEXT 字段,我们可能会收到警告?
我们不知道新版本SQL服务器发布的确切日期,没有官方文件谈到这个,但我认为它正在进行中。当产品团队完成测试后,他们将发布它。
就目前而言,我们仍然可以在 Azure SQL 数据库中创建这些数据类型:
您应该遵循使用 varchar(max)
或 nvarchar
的建议,以避免将来可能发生的错误。
总之,这四种数据类型将在下一版本的SQL服务器中移除。但在当前和以前的版本中,它们仍然被支持。
据我了解,警告是为了提醒您:
- 当您使用 new/next 版本 SQL Server/Azure SQL 进行开发时,
请使用
varchar
或 nvarchar
代替这些数据类型。
- 将数据从旧版本迁移到新的下一个版本时,支付
注意数据类型映射。
当您“迁移到 Azure SQL 时,TEXT 字段完好无损,目的是随着时间的推移将 TEXT 迁移到 VARCHAR”,如果有任何直接的缺点,我们无法回答您。如果您仍然坚持在新的下一个版本 SQL 服务器中创建 text
,我想您会收到类似“此版本不支持文本”的错误消息。
HTP.
这些数据类型实际上早在 SQL2005 年就已弃用。重要的是要了解 MS 弃用的意思——它并不意味着“即将删除”或“将不起作用”。弃用意味着:
- 该功能仅处于维护模式。不会进行任何新更改,包括与解决与新功能的互操作性相关的更改。
- 我们 (MS) 努力不从未来的版本中删除不推荐使用的功能,以使升级更容易。但是,在极少数情况下,如果该功能限制了未来的创新,我们可能会选择从 SQL 服务器永久停止(删除)该功能。
虽然最佳做法是将现有列定义更改为受支持的数据类型,当然不要在新开发中使用它们,但值得指出的是,您可以在 SSRS 系统数据库中找到 TEXT、NTEXT 和 IMAGE 列,所以我不要认为有任何必要急于求成。正如文档所说:“我们努力不删除不推荐使用的功能......(除了)在极少数情况下”。如果这些已弃用的数据类型自 SQL2005 年以来一直存在,我认为可以公平地说 MS 没有优先考虑它们的实际删除。
我们目前正在从 SQL 服务器迁移到 Azure SQL,DMA 数据迁移助手已经标记了大量正在使用 TEXT 字段的表。
Ntext、text 和 image 被弃用 in future versions of SQL 但文档没有说明何时弃用。
如果我们忽略此警告并迁移到 Azure SQL 且 TEXT 字段完好无损,目的是随着时间的推移将 TEXT 迁移到 VARCHAR,是否会有任何直接的缺点?
如果 Azure SQL 将来某个时候停止使用 TEXT 字段,我们可能会收到警告?
我们不知道新版本SQL服务器发布的确切日期,没有官方文件谈到这个,但我认为它正在进行中。当产品团队完成测试后,他们将发布它。
就目前而言,我们仍然可以在 Azure SQL 数据库中创建这些数据类型:
您应该遵循使用 varchar(max)
或 nvarchar
的建议,以避免将来可能发生的错误。
总之,这四种数据类型将在下一版本的SQL服务器中移除。但在当前和以前的版本中,它们仍然被支持。
据我了解,警告是为了提醒您:
- 当您使用 new/next 版本 SQL Server/Azure SQL 进行开发时,
请使用
varchar
或nvarchar
代替这些数据类型。 - 将数据从旧版本迁移到新的下一个版本时,支付 注意数据类型映射。
当您“迁移到 Azure SQL 时,TEXT 字段完好无损,目的是随着时间的推移将 TEXT 迁移到 VARCHAR”,如果有任何直接的缺点,我们无法回答您。如果您仍然坚持在新的下一个版本 SQL 服务器中创建 text
,我想您会收到类似“此版本不支持文本”的错误消息。
HTP.
这些数据类型实际上早在 SQL2005 年就已弃用。重要的是要了解 MS 弃用的意思——它并不意味着“即将删除”或“将不起作用”。弃用意味着:
- 该功能仅处于维护模式。不会进行任何新更改,包括与解决与新功能的互操作性相关的更改。
- 我们 (MS) 努力不从未来的版本中删除不推荐使用的功能,以使升级更容易。但是,在极少数情况下,如果该功能限制了未来的创新,我们可能会选择从 SQL 服务器永久停止(删除)该功能。
虽然最佳做法是将现有列定义更改为受支持的数据类型,当然不要在新开发中使用它们,但值得指出的是,您可以在 SSRS 系统数据库中找到 TEXT、NTEXT 和 IMAGE 列,所以我不要认为有任何必要急于求成。正如文档所说:“我们努力不删除不推荐使用的功能......(除了)在极少数情况下”。如果这些已弃用的数据类型自 SQL2005 年以来一直存在,我认为可以公平地说 MS 没有优先考虑它们的实际删除。