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.