Eksekusi Paket:
Alat Data SQL Server:
Kredensial pengguna di mana SQL Server Data Tools (SSDT)
sedang beroperasi akan digunakan untuk mengeksekusi paket yang dijalankan dalam SSDT.
Di bawah Windows Start \ All Programs \ Microsoft SQL Server 2012, jika Anda mengklik SQL Server Data Tools, itu akan berjalan di bawah kredensial Anda. Untuk menjalankan di bawah akun pengguna yang berbeda, Anda dapat menekan Ctrl + Pergeseran untuk memilih Run as different user
pilihan.
Layanan Katalog Integrasi:
Ketika Anda mengklik kanan pada sebuah paket di bawah Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
dan pilih Execute...
untuk menjalankan sebuah paket. Paket akan berjalan di bawah kredensial yang digunakan untuk terhubung ke SQL Server Management Studio.
Perhatikan bahwa jika Anda mencoba menjalankan paket menggunakan Otentikasi SQL Server, Anda akan mendapatkan pesan kesalahan di bawah ini:
Setelah Anda menekan Execute...
, SQL Server
memutar proses ISServerExec.exe
, yang meluncurkan Console Window Host
proses:
ISServerExec.exe
adalah program yang mengeksekusi paket di Katalog SSIS. Dalam hal ini, diluncurkan di bawah pengguna yang sama yang menjalankan paket SSIS dari SQL Server Management Studio.
Tugas Agen Server SQL Tanpa Proxy:
Saat Anda menjalankan paket SSIS dari dalam Tugas Agen Server SQL , langkah pekerjaan secara default berjalan di bawah SQL Server Agent Service Account
. Akun pengguna yang terkait Layanan Agen Server SQL dapat ditemukan dengan menavigasi ke Windows Start \ Administrative Tools \ Services
, cari layanan SQL Server Agent (Your Instance Name
) dan temukan akun pengguna yang terdaftar di bawah Log On As
Tugas Agen Server SQL Dengan Proksi:
Anda juga dapat menjalankan Pekerjaan Agen Server SQL di bawah kredensial yang berbeda dengan membuat akun proxy. Saat langkah tugas dijalankan di bawah akun proxy, paket di langkah tugas akan dijalankan di bawah kredensial yang ditentukan di akun proxy.
Di bawah jawaban SO memberikan petunjuk langkah demi langkah untuk membuat akun proxy untuk menjalankan Pekerjaan Agen Server SQL.
Bagaimana cara membuat langkah di Pekerjaan Agen Server SQL yang akan menjalankan paket SSIS saya?
Cara memverifikasi:
Contoh paket SSIS 2012:
Inilah yang saya lakukan untuk memverifikasi pernyataan di atas sehubungan dengan akun pengguna yang digunakan untuk eksekusi paket.
-
Buka Alat Data SQL Server dan buat dan paket SSIS 2012 bernama
SO_15289442.dtsx
. -
Buat variabel bernama
ExecutionUser
tipe dataString
. Tetapkan ekspresi@[System::UserName]
ke variabel.UserName
adalah variabel sistem yang menyediakan informasi tentang pengguna yang mengeksekusi paket. -
Seret dan lepas Kirim Tugas Email ke Alur Data tab.
-
Buat koneksi SMTP dan tetapkan ke
SmtpConnection
di Editor Tugas Kirim Email - halaman Email. -
Tentukan
From
danTo
alamat email. -
Ubah MessageSourceType ke
Variable
. -
Setel
MessageSource
keUser::ExecutionUser
. -
Klik kanan pada paket dan pilih Terapkan untuk menyebarkan proyek ke Katalog Layanan Integrasi yang tersedia di server pilihan Anda.
Eksekusi paket
-
Jalankan paket dalam SSDT.
-
Buka SSDT menggunakan Jalankan sebagai opsi pengguna yang berbeda. Berikan kredensial yang berbeda dari milik Anda dan jalankan kembali paketnya.
-
Jalankan paket dari Katalog Layanan Integrasi.
-
Buat Pekerjaan Agen Server SQL untuk menjalankan paket menggunakan Akun Layanan Agen Server SQL.
-
Buat Pekerjaan Agen Server SQL untuk menjalankan paket menggunakan akun proxy.
Untuk setiap eksekusi yang disebutkan di atas, Anda akan menerima email dengan akun pengguna yang digunakan untuk mengeksekusi paket.
Masalah Anda:
Dalam kasus Anda, paket akan dijalankan di bawah akun Anda (dengan asumsi Anda menggunakan kredensial Anda untuk mengakses SSISDB ) jika Anda mengklik kanan dan memilih Jalankan dari Katalog Layanan Integrasi. Pastikan akun memiliki akses ke jalur jaringan.
Jika Anda menjalankan paket Anda dari dalam SQL Server Agent Job, akun proxy adalah run as another user
opsi yang Anda lihat.