Làm cho SA trở thành chủ sở hữu của cơ sở dữ liệu thực sự đơn giản hóa và / hoặc giải quyết một số điều, nhưng có thể có một số ý nghĩa bảo mật.
Cụ thể, hãy nhớ rằng nếu SA là chủ sở hữu của cơ sở dữ liệu thì dbo = 'SA'
. Điều này có nghĩa là, trong số những thứ khác, bất kỳ quy trình nào trong lược đồ [dbo] (là mặc định) có "EXECUTE As Chủ sở hữu" trong đó, đều thực sự là SA. Đó không phải là khá là xấu như nó có vẻ, bởi vì trừ khi bạn đã đánh dấu cơ sở dữ liệu như đáng tin cậy, SQL Server sẽ không cho phép một phiên làm việc hoặc nhiệm vụ ra khỏi cơ sở dữ liệu với một máy chủ chính cấp impersonated như thế.
Điều này dẫn đến điểm tiếp theo: không bao giờ đánh dấu các cơ sở dữ liệu như TRUSTWORTHY, trừ khi bạn thực sự , thực sự chắc chắn rằng nó an toàn. Bởi vì bất kỳ ai có khả năng tạo các thủ tục trong lược đồ [dbo] đều có thể thực thi dưới dạng SA, trên toàn bộ máy chủ, nếu họ muốn.
Một vấn đề khác có thể xảy ra do nhiều sản phẩm và ứng dụng có cơ sở dữ liệu SQL Server của riêng chúng, thường chỉ định rằng đăng nhập ứng dụng của chúng phải là DBO của cơ sở dữ liệu. Rõ ràng bạn có thể giải quyết điều đó bằng cách đăng nhập ứng dụng của họ là 'SA'. Hy vọng rằng, rõ ràng là bạn không bao giờ nên làm điều đó, trừ khi SQL Server Instance không được sử dụng cho bất kỳ điều gì khác (ngay cả khi đó, tôi sẽ khuyên bạn nên chống lại nó).