Saya ingin tahu bagaimana mengatur langkah pekerjaan SQL untuk dieksekusi sebagai akun login SQL yang berbeda. Tampaknya saya perlu menyiapkan Akun Proksi Baru yang memerlukan kredensial yang ada. Ketika saya membuat kredensial, satu-satunya pilihan saya adalah menggunakan kredensial Windows Login.
Pekerjaan yang saya coba jalankan ada di bawah. Ada pernyataan tambahan lainnya tetapi ketika saya mengatur langkah pekerjaan untuk dijalankan sebagai login SQL gagal.
insert into [dbo].[TableA]
SELECT
ss.[Ref_ID]
,mm.[studentID]
,mm.[studentPersonID]
,mm.[studentFirstname]
FROM [dbo].[TableB] mm
left outer join [dbo].[TableC] ss on ss.parentPersonID=mm.parentPersonID and mm.studentPersonID = ss.studentPersonID
where ss.Ref_ID is not null;
Ketika ini dijalankan melalui Langkah Pekerjaan SQL itu gagal.
Executed as user: an_admin_account. Access to the remote server is denied because the current security context is not trusted. [SQLSTATE 42000] (Error 15274). The step failed.
Saya tidak jelas mengapa ini mencoba mengakses server jauh ketika semua tabel ini ada di db lokal.
sql-server
sql-server-2008-r2
security
sql-server-agent
Geoff Dawdy
sumber
sumber
Jawaban:
Jika Anda mengonfigurasi langkah pekerjaan T-SQL, buka Halaman Lanjutan dan konfigurasikan "Jalankan sebagai pengguna" ke info masuk pilihan Anda.
Jika Anda bekerja dengan jenis langkah pekerjaan lain seperti PowerShell, itu akan memerlukan akun proxy yang harus dikonfigurasi.
sumber
Gunakan
EXECUTE AS
di awal, atau buat prosedur tersimpan yang dijalankan dalam konteks tertentu.sumber