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

Các tùy chọn ANSI tốt nhất khi tạo cơ sở dữ liệu mới

Các tùy chọn được mặc định là OFF bởi vì, rất có thể, cơ sở dữ liệu này đã được tạo và viết kịch bản mà không chạm vào bất kỳ giá trị mặc định nào. Khi cơ sở dữ liệu được tạo, về cơ bản nó được sao chép từ model cơ sở dữ liệu hệ thống và trên bản cài đặt hoàn toàn mới của SQL Server, cài đặt ANSI trên cơ sở dữ liệu sẽ OFF , ngay cả khi một số cài đặt này (như ANSI_NULLS ) là những lựa chọn mà bạn thực sự không bao giờ muốn OFF cho bất kỳ ứng dụng cơ sở dữ liệu hiện đại nào. Trên thực tế, trong trường hợp của ANSI_NULLS đặc biệt, tài liệu chỉ định rằng khả năng tắt tính năng này hoàn toàn là không được dùng nữa , mặc dù có thể sẽ còn vài năm nữa trước khi điều đó thực sự xảy ra.

Và điều đó nằm ở chỗ:các cài đặt này vẫn được giữ OFF vì lợi ích của các ứng dụng cũ, người đã phải BẬT các tùy chọn này ON quay trở lại khi nào được hưởng lợi từ sự tốt đẹp của họ (và những thay đổi phá vỡ). Nếu phiên chỉ định không có giá trị nào cho chúng, thì cài đặt cơ sở dữ liệu sẽ được áp dụng.

Nhưng hầu hết các ứng dụng do chỉ định các cài đặt này trong một phiên, nếu không rõ ràng, thì hoàn toàn thông qua thư viện truy cập dữ liệu của chúng. Theo tài liệu về SET ANSI_DEFAULTS , chuyển đổi một loạt cài đặt cùng một lúc:

DB-Library là một thư viện truy cập cũ, tuy nhiên vẫn được một số ứng dụng cổ sử dụng và tùy chọn làm nguồn hỗ trợ cho những thứ như FreeTDS, vì vậy, thường xuyên bạn vẫn có thể gặp phải một ứng dụng cố ý hoặc vô tình sử dụng cài đặt cơ sở dữ liệu, nhưng điều này ngày càng hiếm.

Đối với tốt nhất giá trị cho các tùy chọn này, điều đó hoàn toàn phụ thuộc vào trường hợp sử dụng của bạn. Nếu bạn phải hỗ trợ các ứng dụng cũ mong đợi hoạt động cũ, bạn có thể không có lựa chọn nào khác trong việc để cài đặt cơ sở dữ liệu ở trạng thái OFF . Nếu bạn có một ứng dụng kết nối thông qua một thư viện cũ nhưng thực sự mong đợi ngữ nghĩa SQL hiện đại, bạn có thể muốn ON cho chúng . Đối với tất cả các ứng dụng khác, các tùy chọn này có thể đã được chính ứng dụng đặt trên cơ sở mỗi phiên thành các giá trị chính xác (trong) của chúng và những gì bạn định cấu hình sẽ không thành vấn đề.

Thảo luận về từng tùy chọn riêng lẻ và khi nào bạn muốn BẬT nó ON hoặc OFF sẽ vượt quá giới hạn của một câu trả lời hợp lý. Tham khảo tài liệu về từng loại và xây dựng các phương pháp hay nhất của riêng bạn. Bạn có thể để những thứ như SET yêu cầu tùy chọn cho các chỉ mục trên các cột được tính toán hướng dẫn bạn, yêu cầu một loạt các tùy chọn để ON thậm chí trước khi bạn có thể tạo chúng (và chúng thường được coi là một thứ tốt đẹp nên có).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt tất cả các giá trị 0 thành NULL

  2. Tự động truy xuất tên tham số và giá trị hiện tại bên trong thủ tục lưu trữ T-SQL

  3. tạo khóa ngoại mà không có khóa chính

  4. Làm thế nào chúng ta có thể kiểm tra bảng đó có chỉ mục hay không?

  5. Kiểm tra xem chuỗi có chứa các ký tự có dấu trong SQL không?