Sự khác biệt giữa Trusted_Connection và Bảo mật tích hợp trong một chuỗi kết nối là gì?


81

Tôi tò mò về sự khác biệt giữa mã thông báo "Trusted_Connection" và "Bảo mật tích hợp" trong chuỗi kết nối SQL Server (tôi tin rằng các cơ sở dữ liệu / trình điều khiển khác không hỗ trợ những điều này). Tôi hiểu rằng họ tương đương nhau.

Câu trả lời:


100

Chúng là những từ đồng nghĩa với nhau và có thể được sử dụng thay thế cho nhau.

Trong .Net, có một lớp gọi là SqlConnectionStringBuilder rất hữu ích để xử lý các chuỗi kết nối SQL Server bằng cách sử dụng thuộc tính type-safe để xây dựng các phần của chuỗi. Lớp này giữ một danh sách nội bộ các từ đồng nghĩa để nó có thể ánh xạ từ giá trị này sang giá trị khác:

+ ---------------------- + ------------------------- +
| Giá trị | Từ đồng nghĩa |
+ ---------------------- + ------------------------- +
| ứng dụng | tên ứng dụng |
| không đồng bộ | xử lý không đồng bộ |
| thuộc tính mở rộng | tên đính kèm |
| tên tệp ban đầu | tên đính kèm |
| thời gian chờ kết nối | kết nối thời gian chờ |
| hết giờ | kết nối thời gian chờ |
| ngôn ngữ | ngôn ngữ hiện tại |
| addr | nguồn dữ liệu |
| địa chỉ | nguồn dữ liệu |
| địa chỉ mạng | nguồn dữ liệu |
| máy chủ | nguồn dữ liệu |
| cơ sở dữ liệu | danh mục ban đầu |
| Trust_connection | bảo mật tích hợp |
| thời gian kết nối | thời gian chờ cân bằng tải |
| net | thư viện mạng |
| mạng | thư viện mạng |
| pwd | mật khẩu |
| Persistsecurityinfo | thông tin bảo mật tồn tại |
| uid | id người dùng |
| người dùng | id người dùng |
| wsid | id máy trạm |
+ ---------------------- + ------------------------- +

(Tổng hợp với sự trợ giúp từ Reflector)

Có các lớp tương tự khác để xử lý các chuỗi kết nối ODBCOleDb , nhưng tiếc là không có gì đối với các nhà cung cấp cơ sở dữ liệu khác - tôi sẽ giả định rằng onus nằm trên thư viện của nhà cung cấp để cung cấp một triển khai như vậy.


Lưu ý phụ cho những khán giả trong tương lai của điều này: Kết nối tin cậy không hoạt động đối với tôi trong Sql Server 2014. Tuy nhiên, Bảo mật tích hợp thì có, vì vậy tôi sẽ làm với điều đó!
Stachu

4
Trên SQL Express 2014 Tôi đang sử dụng trusted_connection và nó đang làm việc ... lưu ý các underscorec xin vui lòng và bạn phải sử dụng "có" chứ không phải là "true" khi sử dụng trusted_connection
Zoran P.

10

Họ giống nhau.

Thật không may, có một số biến thể như thế này, bao gồm:

Máy chủ / Nguồn dữ liệu

Cơ sở dữ liệu / Danh mục ban đầu

Tôi không chắc về nguồn gốc của các biến thể, tôi cho rằng một số có nghĩa là chung chung (không tập trung vào cơ sở dữ liệu nên chuỗi kết nối của bạn sẽ trông rất giống nhau nếu kết nối với RDBMS so với kết nối với dịch vụ thư mục, v.v.)


Thuật ngữ catalognày là một phần của danh pháp cơ sở dữ liệu quan hệ và không đề cập đến bất cứ thứ gì ngoài RDBMS. Nó được giải thích khá rõ trong câu trả lời SO này: stackoverflow.com/questions/7022755/…
ProfK,

2

Vì vậy, một chút sau đó tôi phát hiện ra nguồn gốc của cuộc đụng độ tên. Một bộ mã thông báo đã được ODBC sử dụng và một bộ khác được xác định cho OLEDB. Đối với Sql Server vì lý do kế thừa, họ vẫn hỗ trợ cả hai thay thế cho nhau.

Trusted_Connection = true là ODBC và Integrated Security = SSPI là OLEDB.


1
Connetrings.com/sql-server dường như nói rằng một trong hai hoạt động cho OLEDB. Bạn có một tài nguyên khác?
AlignedDev

1

Trong trường hợp của tôi, tôi đã phát hiện ra sự khác biệt giữa "Trusted_Connection" và "Integrated Security". Tôi đang sử dụng Microsoft SQL Server 2005. Ban đầu tôi sử dụng đăng nhập Windows (Bảo mật tích hợp = SSPI). Nhưng khi tôi thay thế xác thực Windows bằng xác thực SQL Server bằng cách thêm User ID và mật khẩu, thay thế SSPI bằng "False" không thành công. Nó trả về "lỗi được tạo bởi hoạt động OLE DB nhiều bước". Tuy nhiên, khi tôi thay thế "Integrated Security = False" bằng "Trusted_Connection = no", nó đã hoạt động.


Nếu bạn đang sử dụng xác thực SQL Server và bạn chỉ định id người dùng và mật khẩu, bạn không cần đề cập đến "bảo mật tích hợp" hoặc "trust_connections".
grahamesd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.