Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

4 kiểu dữ liệu sẽ không được chấp nhận trong SQL Server

Kể từ SQL Server 2017 (và bản xem trước SQL Server 2019), bốn kiểu dữ liệu được gắn cờ để không dùng nữa trong phiên bản SQL Server trong tương lai.

Đó là:

  • dấu thời gian
  • văn bản
  • ntext
  • hình ảnh

Microsoft khuyên rằng các kiểu dữ liệu này hiện đang ở chế độ bảo trì và chúng sẽ bị xóa trong phiên bản SQL Server trong tương lai. Điều này có nghĩa là bạn nên tránh sử dụng các loại dữ liệu này trong công việc phát triển mới và bạn nên có kế hoạch sửa đổi các ứng dụng hiện đang sử dụng chúng.

Thay thế những thứ này bằng gì?

Bảng sau đây cho bạn biết mỗi loại dữ liệu này nên được thay thế bằng gì.

Kiểu dữ liệu (sẽ không được dùng nữa) Thay thế bằng…
dấu thời gian lộn xộn
văn bản varchar (tối đa)
ntext nvarchar (tối đa)
hình ảnh varbinary (max)

Tham khảo

Tài liệu của Microsoft cho ntext, văn bản và hình ảnh nêu cụ thể những điều sau:

QUAN TRỌNG! Các kiểu dữ liệu ntext, văn bản và hình ảnh sẽ bị xóa trong phiên bản SQL Server trong tương lai. Tránh sử dụng các loại dữ liệu này trong công việc phát triển mới và có kế hoạch sửa đổi các ứng dụng hiện đang sử dụng chúng. Thay vào đó, hãy sử dụng nvarchar (tối đa), varchar (tối đa) và varbinary (tối đa).

Tài liệu của Microsoft về dấu thời gian và chuyển đổi hàng ghi như sau:

Cú pháp dấu thời gian không được dùng nữa. Tính năng này đang ở chế độ bảo trì và có thể bị xóa trong phiên bản Microsoft SQL Server trong tương lai. Tránh sử dụng tính năng này trong công việc phát triển mới và lên kế hoạch sửa đổi các ứng dụng hiện đang sử dụng tính năng này.

Microsoft cũng duy trì danh sách các tính năng không dùng nữa tại Tính năng công cụ cơ sở dữ liệu không dùng nữa trong SQL Server 2016 và Tính năng công cụ cơ sở dữ liệu không dùng nữa trong SQL Server 2017. Cả hai bài viết đều liệt kê các kiểu dữ liệu này dưới tiêu đề “Tính năng không được dùng trong phiên bản tương lai của SQL Server”. Nó cũng giải thích rằng các kiểu dữ liệu là:

… Được hỗ trợ trong phiên bản SQL Server tiếp theo, nhưng sẽ không được dùng nữa trong phiên bản mới hơn. Phiên bản cụ thể của SQL Server chưa được xác định.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để điền vào một cột với các số ngẫu nhiên trong SQL? Tôi nhận được cùng một giá trị trong mọi hàng

  2. Phiên bản SQL Server đang sử dụng không hỗ trợ kiểu dữ liệu datetime2?

  3. Tính toán số tháng đầy đủ giữa hai ngày trong SQL

  4. Cài đặt Microsoft SQL Server 2012 Enterprise Edition w / Service Pack 1

  5. Cách liệt kê tất cả các ràng buộc mặc định với các cột trong cơ sở dữ liệu SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 92