Cara mendapatkan PENGGUNA WINDOWS dalam EXECUTE AS OWNER

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").


person Community    schedule 13.08.2014    source sumber
comment
Anda tidak dapat melihat di sini judul stackoverflow.com/questions/648166/ Jika koneksi dibuat oleh aplikasi, Anda dapat menulis pengguna nt ke konteks sesi   -  person deterministicFail    schedule 13.08.2014
comment
Dalam pertanyaan ini, dia meminta pengguna login SQL. Dalam kasus saya, kami masuk dengan Otentikasi Windows. Saya akan mengedit pertanyaannya.   -  person    schedule 13.08.2014
comment
Dalam dokumentasi ASLI_LOGIN() tertulis 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
comment
Anda dapat menggunakan SUSER_SNAME() yang mengembalikan nama login yang terkait dengan nomor identifikasi keamanan   -  person Bayeni    schedule 13.08.2014
comment
@deterministicFail - Sekadar mempertimbangkan: Login Windows BERBEDA dengan Login Database! Saya memerlukan Login Windows! Apakah ASLI_LOGIN benar-benar mengirimkan Login Windows? Masalahnya adalah, saya tidak dapat mengujinya dengan benar di lingkungan saya saat ini   -  person    schedule 13.08.2014


Jawaban (1)


ASLI_LOGIN() adalah jawaban yang benar.

Hanya membutuhkannya lagi ;) Terima kasih @deterministicfail

person Community    schedule 26.04.2015