sp_changedbowner (T-SQL)

Berlaku untuk:SQL Server

Mengubah pemilik database saat ini.

Penting

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 AUTHORIZATION sebagai gantinya.

Konvensi sintaks transact-SQL

Sintaks

  
sp_changedbowner [ @loginame = ] 'login'  
     [ , [ @map = ] remap_alias_flag ]  

Argumen

[ @loginame= ] 'login'
Adalah ID masuk dari pemilik baru database saat ini. login adalah sysname, tanpa default. login harus berupa login SQL Server yang sudah ada atau pengguna Windows. login tidak dapat menjadi pemilik database saat ini jika sudah memiliki akses ke database melalui akun keamanan pengguna yang ada dalam database. Untuk menghindari hal ini, hilangkan pengguna dalam database saat ini terlebih dahulu.

[ @map= ] remap_alias_flag
Parameter remap_alias_flag tidak digunakan lagi karena alias masuk telah dihapus dari SQL Server. Menggunakan parameter remap_alias_flag tidak menyebabkan kesalahan tetapi tidak berpengaruh.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Keterangan

Setelah sp_changedbowner dijalankan, pemilik baru dikenal sebagai pengguna dbo di dalam database. Dbo telah menyiratkan izin untuk melakukan semua aktivitas dalam database.

Pemilik database sistem master, model, atau tempdb tidak dapat diubah.

Untuk menampilkan daftar nilai masuk yang valid, jalankan prosedur tersimpan sp_helplogins.

Menjalankan sp_changedbowner hanya dengan parameter login mengubah kepemilikan database untuk masuk.

Anda dapat mengubah pemilik yang dapat diamankan dengan menggunakan pernyataan ALTER AUTHORIZATION. Untuk informasi selengkapnya, lihat MENGUBAH OTORISASI (Transact-SQL).

Izin

Memerlukan izin TAKE OWNERSHIP pada database. Jika pemilik baru memiliki pengguna yang sesuai dalam database, memerlukan izin IMPERSONATE pada login, jika tidak, memerlukan izin CONTROL SERVER di server.

Contoh

Contoh berikut membuat pemilik masuk Albert database saat ini.

EXEC sp_changedbowner 'Albert';  

Lihat Juga

Prosedur Tersimpan Keamanan (Transact-SQL)
BUAT DATABASE (SQL Server Transact-SQL)
sp_dropalias (T-SQL)
sp_dropuser (T-SQL)
sp_helpdb (T-SQL)
sp_helplogins (T-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)