Bagikan melalui


sp_addscriptexec (T-SQL)

Berlaku untuk: SQL Server

Memposting skrip Transact-SQL (.sql file) ke semua Pelanggan publikasi. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Konvensi sintaks transact-SQL

Sintaks

sp_addscriptexec
    [ @publication = ] N'publication'
    , [ @scriptfile = ] N'scriptfile'
    [ , [ @skiperror = ] skiperror ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumen

[ @publication = ] N'publikasi'

Nama publikasi. @publication adalah sysname, tanpa default.

[ @scriptfile = ] N'scriptfile'

Jalur lengkap ke file skrip SQL. @scriptfile adalah nvarchar(4000), tanpa default.

[ @skiperror = ] skiperror

Menunjukkan apakah Agen Distribusi atau Agen Penggabungan harus berhenti ketika terjadi kesalahan selama pemrosesan skrip. @skiperror adalah bit, dengan default .0

  • 0 = agen berhenti.
  • 1 = agen melanjutkan skrip dan mengabaikan kesalahan.

[ @publisher = ] N'publisher'

Menentukan penerbit non-SQL Server. @publisher adalah sysname, dengan default NULL.

@publisher tidak boleh digunakan saat menerbitkan dari Penerbit SQL Server.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_addscriptexec digunakan dalam replikasi transaksional dan replikasi penggabungan.

sp_addscriptexec tidak digunakan untuk replikasi rekam jepret.

Untuk menggunakan sp_addscriptexec, akun layanan SQL Server harus memiliki izin baca dan tulis pada lokasi rekam jepret dan izin baca di lokasi tempat skrip disimpan.

Utilitas sqlcmd digunakan untuk menjalankan skrip di Pelanggan, dan skrip dijalankan dalam konteks keamanan yang digunakan oleh Agen Distribusi atau Agen Penggabungan saat menyambungkan ke database langganan. Ketika agen dijalankan pada versi SQL Server sebelumnya, Utilitas osql digunakan alih-alih utilitas sqlcmd.

sp_addscriptexec berguna dalam menerapkan skrip kepada pelanggan, dan menggunakan utilitas sqlcmd untuk menerapkan konten skrip ke Pelanggan. Namun, karena konfigurasi Pelanggan dapat bervariasi, skrip yang diuji sebelum memposting ke Penerbit mungkin masih menyebabkan kesalahan pada Pelanggan. @skiperror memungkinkan Agen Distribusi atau Agen Penggabungan mengabaikan kesalahan dan melanjutkan. Gunakan utilitas sqlcmd untuk menguji skrip sebelum menjalankan sp_addscriptexec.

Catatan

Kesalahan yang dilewati terus dicatat dalam riwayat Agen untuk referensi.

Menggunakan sp_addscriptexec untuk memposting file skrip untuk publikasi menggunakan FTP untuk pengiriman rekam jepret hanya didukung untuk Pelanggan SQL Server.

Izin

Hanya anggota peran server tetap sysadmin atau peran database tetap db_owner yang dapat menjalankan sp_addscriptexec.