sp_serveroption (T-SQL)

Berlaku untuk:SQL Server

Mengatur opsi server untuk server jarak jauh dan server tertaut.

Konvensi sintaks transact-SQL

Sintaks

sp_serveroption
    [ @server = ] N'server'
    , [ @optname = ] 'optname'
    , [ @optvalue = ] N'optvalue'
[ ; ]

Argumen

[ @server = ] N'server'

Nama server yang akan diatur opsinya. @server adalah sysname, tanpa default.

[ @optname = ] 'optname'

Opsi untuk mengatur server yang ditentukan. @optname adalah varchar(35), tanpa default. @optname bisa menjadi salah satu nilai berikut.

Nilai Deskripsi
kompatibel dengan kolaborasi Memengaruhi eksekusi kueri terdistribusi terhadap server tertaut. Jika opsi ini diatur ke true, SQL Server mengasumsikan bahwa semua karakter di server tertaut kompatibel dengan server lokal, mengenai kumpulan karakter dan urutan kolase (atau urutan pengurutan). Ini memungkinkan SQL Server untuk mengirim perbandingan pada kolom karakter ke penyedia. Jika opsi ini tidak diatur, SQL Server selalu mengevaluasi perbandingan pada kolom karakter secara lokal.

Opsi ini harus diatur hanya jika yakin bahwa sumber data yang sesuai dengan server tertaut memiliki kumpulan karakter yang sama dan urutan pengurutan sebagai server lokal.
nama kolabasi Menentukan nama kolase yang digunakan oleh sumber data jarak jauh jika menggunakan kolase jarak jauh adalah true dan sumber data bukan sumber data SQL Server. Nama harus menjadi salah satu kolase yang didukung oleh SQL Server.

Gunakan opsi ini saat mengakses sumber data OLE DB selain SQL Server, tetapi kolasenya cocok dengan salah satu kolase SQL Server.

Server tertaut harus mendukung satu kolase yang akan digunakan untuk semua kolom di server tersebut. Jangan atur opsi ini jika server tertaut mendukung beberapa kolase dalam satu sumber data, atau jika kolase server tertaut tidak dapat ditentukan untuk mencocokkan salah satu kolase SQL Server.
menyambungkan batas waktu Menentukan nilai batas waktu dalam hitungan detik untuk menyambungkan ke server tertaut.

Jika 0, pengaturan batas waktu sambungkan menggunakan nilai default yang dikonfigurasi untuk remote login timeout (s) pengaturan. Nilai defaultnya untuk remote login timeout (s) adalah 10.

Anda bisa menampilkan pengaturan ini dari sys.configurations tampilan katalog dengan kueri berikut: SELECT name, value_in_use FROM sys.configurations WHERE name like 'remote login timeout (s)';.
akses data Mengaktifkan dan menonaktifkan server tertaut untuk akses kueri terdistribusi. Hanya dapat digunakan untuk sys.server entri yang ditambahkan melalui sp_addlinkedserver.
Dist Distributor.
nama Menentukan nama objek server tertaut.

Perubahan nama tercermin dalam nilai yang dikembalikan oleh name kolom sys.servers tampilan katalog, tanpa memengaruhi sumber data jarak jauh.
string penyedia Menentukan string OLE DB yang mengidentifikasi sumber koneksi server tertaut.

Perubahan string penyedia tercermin dalam nilai yang dikembalikan oleh provider_string kolom sys.servers tampilan katalog.
validasi skema malas Menentukan apakah skema tabel jarak jauh dicentang.

Jika true, lewati pemeriksaan skema tabel jarak jauh di awal kueri.
Pub Publisher.
batas waktu kueri Menentukan nilai batas waktu untuk kueri terhadap server tertaut.

Jika 0, gunakan sp_configure default.
Rpc Mengaktifkan RPC dari server yang diberikan.
rpc out Mengaktifkan RPC ke server yang diberikan.
sub Pelanggan.
sistem Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
gunakan kolatasi jarak jauh Menentukan apakah kolatasi kolom jarak jauh atau server lokal digunakan.

Jika true, kolase kolom jarak jauh digunakan untuk sumber data SQL Server, dan kolase yang ditentukan dalam nama kolase digunakan untuk sumber data non-SQL Server. Ini adalah default.

Jika false, kueri terdistribusi selalu menggunakan kolase default server lokal, sementara nama kolase dan kolase kolom jarak jauh diabaikan.
promosi transaksi proc jarak jauh Gunakan opsi ini untuk melindungi tindakan prosedur server-ke-server melalui transaksi Koordinator Transaksi Terdistribusi Microsoft (MS DTC). Ketika opsi ini adalah true (atau on), memanggil prosedur tersimpan jarak jauh memulai transaksi terdistribusi dan mendaftarkan transaksi dengan MS DTC. Instans SQL Server yang melakukan panggilan prosedur tersimpan jarak jauh adalah asal transaksi dan mengontrol penyelesaian transaksi. Ketika pernyataan COMMIT TRANSACTION atau ROLLBACK TRANSACTION berikutnya dikeluarkan untuk koneksi, instans pengendali meminta MS DTC mengelola penyelesaian transaksi terdistribusi di seluruh komputer yang terlibat.

Setelah transaksi terdistribusi Transact-SQL dimulai, panggilan prosedur tersimpan jarak jauh dapat dilakukan ke instans SQL Server lain yang telah didefinisikan sebagai server tertaut. Server tertaut semuanya terdaftar dalam transaksi terdistribusi Transact-SQL, dan MS DTC memastikan bahwa transaksi selesai terhadap setiap server yang ditautkan.

Jika opsi ini diatur ke false (atau off), transaksi lokal tidak dipromosikan ke transaksi terdistribusi saat memanggil panggilan prosedur jarak jauh di server tertaut.

Jika sebelum melakukan panggilan prosedur server-ke-server, transaksi sudah menjadi transaksi terdistribusi, maka opsi ini tidak berpengaruh. Panggilan prosedur terhadap server tertaut berjalan di bawah transaksi terdistribusi yang sama.

Jika tidak ada transaksi yang aktif dalam koneksi sebelum melakukan panggilan prosedur server-ke-server, opsi ini tidak berpengaruh. Prosedur kemudian berjalan terhadap server tertaut tanpa transaksi aktif.

Nilai default untuk opsi ini adalah true (atau on).

[ @optvalue = ] N'optvalue'

Menentukan apakah @optname harus diaktifkan (true atau on), atau dinonaktifkan (false atau off). @optvalue adalah nvarchar(128), tanpa default.

  • Untuk opsi batas waktu koneksi dan batas waktu kueri, @optvalue mungkin bilangan bulat non-negatif.

  • Untuk opsi nama kolase, @optvalue mungkin nama kolase atau NULL.

  • Untuk opsi nama, @optvalue mungkin berupa string, yang mewakili nama baru koneksi server yang ditautkan.

  • Untuk opsi string penyedia, @optvalue mungkin berupa string atau NULL, yang mewakili sumber OLE DB baru dari koneksi server yang ditautkan.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

Jika opsi kolase yang kompatibel diatur ke true, nama kolase secara otomatis diatur ke NULL.

Jika nama kolase diatur ke nilai non-null, kolase yang kompatibel secara otomatis diatur ke false.

Izin

Memerlukan izin UBAH SERVER TERTAUT APA PUN di server.

Contoh

Contoh berikut mengonfigurasi server tertaut yang sesuai dengan instans SQL Server lain, SEATTLE3, agar kolase kompatibel dengan instans lokal SQL Server.

USE master;
GO
EXEC sp_serveroption N'SEATTLE3', 'collation compatible', N'true';
GO

Contoh berikut mengganti nama koneksi server yang ditautkan dari PRODVM01\ProdSQL01 menjadi LinkToProdSQL01.

USE master;
GO
EXEC sp_serveroption
    @server = N'PRODVM01\ProdSQL01',
    @optname = 'name',
    @optvalue = N'LinkToProdSQL01';
GO