Các tài liệu MSDN nói cho SUSER_SNAME chức năng:T-SQL: SUSER_SNAME và SUSER_NAME?
Trả về tên nhận dạng đăng nhập từ mã số an ninh của người dùng (SID).
More kết thúc, nó nói cho SUSER_NAME chức năng:
Trả về tên nhận dạng đăng nhập của người dùng.
Tuy nhiên, khi tôi thực hiện các câu lệnh SQL sau tôi nhận được cùng kết quả:
SELECT SUSER_NAME();
SELECT SUSER_SNAME();
Vì vậy, những gì khác biệt, và cái nào tôi sẽ sử dụng không? Có tình huống nào tôi nên sử dụng cái kia thay vì cái kia không?
lời khuyên Xin vui lòng,
Cảm ơn trước :)
Tôi đã thực hiện câu lệnh bạn đã cung cấp và chỉ cột thứ ba là null, có vẻ như 'SUSER_NAME' chấp nhận cả' principal_id' và 'sid'. Bằng cách này tôi đang sử dụng SQL Server 2012 nếu có vấn đề. –
@ MohammedA.Fadil: Lạ, tôi cũng đang sử dụng năm 2012 và cột hai và ba là 'null'. Có thể có một trường hợp góc trong đó 'cast (sid as int)' tương đương với 'principal_id', nhưng điều đó rất khó xảy ra – Andomar
@MohammedA.Fadil: Bạn đã đăng nhập dưới dạng sa khi bạn thấy kết quả đó chưa? Tôi thấy principal_id = sid cho các hiệu trưởng máy chủ tích hợp. –