2009-06-09 40 views
7

Trong MS SQL Server, hộp thoại Thuộc tính cơ sở dữ liệu có liên kết "Xem thuộc tính kết nối" ở bên trái. Nhấp vào đó sẽ mang đến hộp thoại "Thuộc tính kết nối" với các thuộc tính của kết nối hiện tại, chẳng hạn như Phương thức xác thực, Giao thức mạng, Tên máy tính, v.v ...Bắt thuộc tính kết nối hiện tại trong SQL Server

Có cách nào để lấy thông tin đó bằng cách chạy truy vấn sql không? Truy vấn đó trông như thế nào?

Trả lời

18

SQL 2005 và sau khi bạn thẩm vấn sys.dm_exec_connections. Để lấy thuộc tính kết nối hiện tại của bạn, bạn muốn chạy:

select * from sys.dm_exec_connections 
where session_id = @@SPID 

giá trị Các lĩnh vực phụ thuộc vào giao thức dùng để kết nối (bộ nhớ chia sẻ, đặt tên đường ống hoặc tcp) nhưng tất cả đều chứa thông tin về phương thức xác thực được sử dụng, giao thức và lưới khách hàng địa chỉ nhà.

+0

chuỗi kết nối toàn bộ thì sao? –

+0

Quyền yêu cầu vượt quá vai trò db_owner đơn giản cho một cơ sở dữ liệu cụ thể. – Zarepheth

0

Tôi nghĩ câu trả lời là 'không'. Thông tin máy tính được lưu trữ trên máy tính. Thông tin kết nối có nhiều khả năng được lưu trữ trong tệp cấu hình hoặc trong MS SQL Server.

Nhưng hãy xem MSSQL system tables và xem những thuộc tính nào chúng có.

4

Có, nhưng bạn có thể tùy thuộc vào thuộc tính nào sau khi được hiển thị trong giao diện người dùng thuộc tính kết nối đến từ nhiều nơi.

Nó sử dụng một số truy vấn (chẳng hạn như xp_msverselect suser_sname()) để giữ một số thuộc tính nhưng cũng sử dụng thủ tục được lưu trữ xp_instance_regread để giữ một số giá trị từ sổ đăng ký của máy chủ.

Khá nhiều thứ được thực hiện là studio quản lý khi tương tác với công cụ SQL có thể được thực hiện bằng cách sử dụng SQL. Bắt đầu một phiên lược tả và thực hiện các hành động trong giao diện người dùng sẽ phát hiện ra những gì (đôi khi che khuất/không có giấy tờ/không được hỗ trợ) SQL đang được chạy.

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