2009-09-12 30 views
10

Theo MSDN BOL (Books Online) trên SET ANSI_PADDING,Tại sao SQL Server không dùng SET ANSI_PADDING OFF?

Trong một phiên bản tương lai của Microsoft SQL Server ANSI_PADDING sẽ luôn là ON và bất kỳ ứng dụng mà thiết lập một cách rõ ràng tùy chọn để OFF sẽ tạo ra một lỗi. Tránh sử dụng tính năng 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 tính năng này.

Tôi chưa bao giờ sử dụng tùy chọn này nhưng có vẻ như nó thực sự có thể tiết kiệm rất nhiều không gian cơ sở dữ liệu cho charvarbinary lĩnh vực nếu được sử dụng một cách chính xác.

Tại sao SET ANSI_PADDING trở nên lỗi thời, ngoài thực tế là nó không tuân thủ ANSI?

Có lý do chính đáng nào không?

Trả lời

10

Không phải là câu trả lời, chỉ là một ý kiến:

Cá nhân tôi muốn tin rằng họ đang xóa nó vì đó là một nỗi đau vô giá trị trong không. Nếu một đối tượng cơ sở dữ liệu được tạo, sử dụng, tham chiếu hoặc bất kỳ thứ gì với nó BẬT, một thứ hai được thực hiện để TẮT, và bạn cố gắng làm việc với cả hai cùng một lúc (hai bảng, bảng tham chiếu thủ tục, v.v.), kết quả của bạn có thể không phù hợp hoặc có thể không có ý nghĩa, và nó sẽ đưa bạn mãi mãi để tìm hiểu những gì đang xảy ra.

(Có các cài đặt SET khác như thế này và tệ hơn. Tôi hy vọng họ sẽ không dùng nữa.)

+0

Quan điểm của bạn có ý nghĩa đối với tôi như một câu trả lời;) Cảm ơn Philip – Sung

5

Tính năng đó không được sử dụng chút nào và nó cũng không tuân thủ ANSI, vì vậy chúng sẽ xóa nó. Tiết kiệm không gian có thể được thực hiện bất kể ansi_padding, máy chủ sql có thể loại bỏ phần đệm bên trong.

Các vấn đề liên quan