sp_changeobjectowner (T-SQL)

Berlaku untuk:SQL Server

Mengubah pemilik objek dalam database saat ini.

Penting

Prosedur tersimpan ini hanya berfungsi dengan objek yang tersedia di Microsoft SQL Server 2000 (8.x). Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan ALTER SCHEMA atau ALTER AUTHORIZATION sebagai gantinya. sp_changeobjectowner mengubah skema dan pemilik. Untuk mempertahankan kompatibilitas dengan versi SQL Server sebelumnya, prosedur tersimpan ini hanya akan mengubah pemilik objek ketika pemilik saat ini dan pemilik baru memiliki skema yang memiliki nama yang sama dengan nama pengguna database mereka.

Penting

Persyaratan izin baru telah ditambahkan ke prosedur tersimpan ini.

Konvensi sintaks transact-SQL

Sintaks

  
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'  

Argumen

[ @objname = ] 'object' Adalah nama tabel, tampilan, fungsi yang ditentukan pengguna, atau prosedur tersimpan yang ada dalam database saat ini. objek adalah nvarchar(776), tanpa default. objek dapat memenuhi syarat dengan pemilik objek yang ada, dalam formulir existing_owner.objek jika skema dan pemiliknya memiliki nama yang sama.

[ @newowner = ] 'owner_ ' Adalah nama akun keamanan yang akan menjadi pemilik baru objek. pemilik adalah sysname, tanpa default. pemilik harus merupakan pengguna database, peran server, login Microsoft Windows, atau grup Windows yang valid dengan akses ke database saat ini. Jika pemilik baru adalah pengguna Windows atau grup Windows yang tidak ada prinsipal tingkat database yang sesuai, pengguna database akan dibuat.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Keterangan

sp_changeobjectowner menghapus semua izin yang ada dari objek. Anda harus menerapkan kembali izin apa pun yang ingin Anda simpan setelah menjalankan sp_changeobjectowner. Oleh karena itu, kami sarankan Anda membuat skrip izin yang ada sebelum menjalankan sp_changeobjectowner. Setelah kepemilikan objek diubah, Anda dapat menggunakan skrip untuk menerapkan kembali izin. Anda harus mengubah pemilik objek dalam skrip izin sebelum menjalankan.

Untuk mengubah pemilik yang dapat diamankan, gunakan ALTER AUTHORIZATION. Untuk mengubah skema, gunakan ALTER SCHEMA.

Izin

Memerlukan keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran database tetap db_ddladmin dan peran database tetap db_securityadmin , dan juga izin CONTROL pada objek.

Contoh

Contoh berikut mengubah pemilik tabel menjadi authorsCorporate\GeorgeW.

EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';  
GO  

Lihat Juga

ALTER SCHEMA (Transact-SQL)
MENGUBAH DATABASE (T-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sp_changedbowner (T-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)