Apakah ada fungsi yang mengembalikan PENGGUNA WINDOWS (BUKAN pengguna database!) dalam prosedur "EXECUTE AS OWNER"?
Akankah ASLI_LOGIN() melakukan ini, atau apakah itu hanya mengembalikan pengguna basis data?
Pertimbangkan situasi berikut:
- Pengguna Windows "joe" dan "anne" adalah bagian dari Grup Direktori Aktif, mis. "PERENCANAAN"
- Database SQL Server memiliki "PELANNER" sebagai Login Server dan sebagai Pengguna Database.
- Ada prosedur tersimpan DENGAN EXECUTE SEBAGAI PEMILIK
Sekarang, Anne masuk ke Database SQL melalui Otentikasi Windows (jadi dia adalah pengguna database "PELANNER"), dan dia memanggil prosedurnya. Dalam prosedur ini, saya ingin mengambil Pengguna Windows ("anne").
ORIGINAL_LOGIN returns the identity of the login that first connected to the instance of SQL Server in that session
Jadi inilah yang Anda perlukan msdn.microsoft.com/en-us/library/ms189492(v=sql.100).aspx - person deterministicFail   schedule 13.08.2014