sp_repladdcolumn (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menambahkan kolom ke artikel tabel yang sudah ada yang telah diterbitkan. Memungkinkan kolom baru ditambahkan ke semua penerbit yang menerbitkan tabel ini, atau hanya menambahkan kolom ke publikasi tertentu yang menerbitkan tabel. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Penting

Prosedur tersimpan ini tidak digunakan lagi dan didukung untuk kompatibilitas mundur. Ini hanya boleh digunakan dengan Penerbit Microsoft SQL Server 2000 (8.x) dan Penerbit penerbit ulang SQL Server 2000 (8.x). Prosedur ini tidak boleh digunakan pada kolom dengan jenis data yang diperkenalkan di SQL Server 2005 (9.x) atau yang lebih tinggi.

Konvensi sintaks transact-SQL

Sintaks

  
sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]  
    [ , [ @typetext = ] 'typetext' ]  
    [ , [ @publication_to_add = ] 'publication_to_add' ]  
    [ , [ @from_agent = ] from_agent ]  
    [ , [ @schema_change_script = ] 'schema_change_script' ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  

Argumen

[ @source_object =] 'source_object'
Adalah nama artikel tabel yang berisi kolom baru untuk ditambahkan. source_object adalah nvarchar(358), tanpa default.

[ @column =] 'kolom'
Adalah nama kolom dalam tabel yang akan ditambahkan untuk replikasi. kolom adalah sysname, tanpa default.

[ @typetext =] 'typetext'
Adalah definisi kolom yang ditambahkan. typetext adalah nvarchar(3000), tanpa default. Misalnya, jika kolom order_filled sedang ditambahkan, dan ini adalah bidang karakter tunggal, bukan NULL, dan memiliki nilai default N, order_filled akan menjadi parameter kolom, sementara definisi kolom, char(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N' akan menjadi nilai parameter typetext.

[ @publication_to_add =] 'publication_to_add'
Adalah nama publikasi tempat kolom baru ditambahkan. publication_to_add adalah nvarchar(4000), dengan default ALL. Jika SEMUA, maka semua publikasi yang berisi tabel ini terpengaruh. Jika publication_to_add ditentukan, maka hanya publikasi ini yang menambahkan kolom baru.

[ @from_agent = ] from_agent
Jika prosedur tersimpan sedang dijalankan oleh agen replikasi. from_agent int, dengan default 0, di mana nilai 1 digunakan ketika prosedur tersimpan ini sedang dijalankan oleh agen replikasi, dan dalam setiap kasus lain nilai default 0harus digunakan.

[ @schema_change_script =] 'schema_change_script'
Menentukan nama dan jalur skrip SQL Server yang digunakan untuk memodifikasi prosedur tersimpan kustom yang dihasilkan sistem. schema_change_script adalah nvarchar(4000), dengan default NULL. Replikasi memungkinkan prosedur tersimpan kustom yang ditentukan pengguna untuk menggantikan satu atau beberapa prosedur default yang digunakan dalam replikasi transaksional. schema_change_script dijalankan setelah perubahan skema dilakukan pada artikel tabel yang direplikasi menggunakan sp_repladdcolumn, dan dapat digunakan untuk melakukan salah satu hal berikut:

  • Jika prosedur tersimpan kustom secara otomatis diregenerasi, schema_change_script dapat digunakan untuk menghilangkan prosedur tersimpan kustom ini dan menggantinya dengan prosedur tersimpan kustom yang ditentukan pengguna yang mendukung skema baru.

  • Jika prosedur tersimpan kustom tidak diregenerasi secara otomatis, schema_change_scriptdapat digunakan untuk meregenerasi prosedur tersimpan ini atau untuk membuat prosedur tersimpan kustom yang ditentukan pengguna.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Mengaktifkan atau menonaktifkan kemampuan untuk membatalkan rekam jepret. force_invalidate_snapshot sedikit, dengan default 1.

1 menentukan bahwa perubahan pada artikel dapat menyebabkan rekam jepret tidak valid, dan jika demikian, nilai 1 memberikan izin untuk rekam jepret baru terjadi.

0 menentukan bahwa perubahan pada artikel tidak menyebabkan rekam jepret tidak valid.

[ @force_reinit_subscription = ] force_reinit_subscription
Mengaktifkan atau menonaktifkan kemampuan untuk menginisialisasi ulang langganan. force_reinit_subscription sedikit dengan default 0.

0 menentukan bahwa perubahan pada artikel tidak menyebabkan langganan diinisialisasi ulang.

1 menentukan bahwa perubahan pada artikel dapat menyebabkan langganan diinisialisasi ulang, dan jika demikian, nilai 1 memberikan izin untuk reinisialisasi langganan terjadi.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Izin

Hanya anggota peran server tetap sysadmin dan peran database tetap db_owner yang dapat dijalankan sp_repladdcolumn.

Lihat Juga

Fitur yang Tidak Digunakan Lagi dalam Replikasi SQL Server
Prosedur Tersimpan Sistem (Transact-SQL)