Bermigrasi ke Database yang Sebagian Berisi
Berlaku untuk: SQL Server
Topik ini membahas cara mempersiapkan perubahan ke model database yang sebagian berisi lalu menyediakan langkah-langkah migrasi.
Dalam topik ini:
Bersiap untuk Memigrasikan Database
Tinjau item berikut saat mempertimbangkan untuk memigrasikan database ke model database yang sebagian berisi.
Anda harus memahami model database yang sebagian berisi. Untuk informasi selengkapnya, lihat Database Terkandung.
Anda harus memahami risiko yang unik untuk database yang sebagian berisi. Untuk informasi selengkapnya, lihat Praktik Terbaik Keamanan dengan Database Terkandung.
Database mandiri tidak mendukung replikasi, mengubah penangkapan data, atau pelacakan perubahan. Konfirmasikan database tidak menggunakan fitur-fitur ini.
Tinjau daftar fitur database yang dimodifikasi untuk database yang sebagian berisi. Untuk informasi selengkapnya, lihat Fitur yang Dimodifikasi (Database Terkandung).
Kueri sys.dm_db_uncontained_entities (Transact-SQL) untuk menemukan objek atau fitur yang tidak terkontainer dalam database. Untuk informasi selengkapnya, lihat.
Pantau database_uncontained_usage XEvent untuk melihat kapan fitur yang tidak dikontainasi digunakan.
Aktifkan Database Terkandung
Database mandiri harus diaktifkan pada instans Mesin Database SQL Server, sebelum database yang terkandung dapat dibuat.
Mengaktifkan Database Terkandung Menggunakan Transact-SQL
Contoh berikut mengaktifkan database yang terkandung pada instans Mesin Database SQL Server.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Mengaktifkan Database Termuat Menggunakan Management Studio
Contoh berikut mengaktifkan database yang terkandung pada instans Mesin Database SQL Server.
Di Object Explorer, klik kanan nama server, lalu klik Properti.
Pada halaman Tingkat Lanjut , di bagian Penampungan , atur opsi Aktifkan Database Terkandung ke True.
Pilih OK.
Mengonversi Database menjadi Sebagian Terkandung
Database dikonversi ke database mandiri dengan mengubah opsi CONTAINMENT .
Mengonversi Database ke Sebagian Terkandung Menggunakan Transact-SQL
Contoh berikut mengonversi database bernama Accounting
menjadi database yang sebagian berisi.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Mengonversi Database menjadi Sebagian terkandung Menggunakan Management Studio
Contoh berikut mengonversi database menjadi database yang sebagian berisi.
Di Object Explorer, perluas Database, klik kanan database yang akan dikonversi, lalu klik Properti.
Pada halaman Opsi , ubah opsi Jenis penahanan menjadi Parsial.
Pilih OK.
Memigrasikan Pengguna ke Pengguna Database Mandiri
Contoh berikut memigrasikan semua pengguna yang didasarkan pada login SQL Server ke pengguna database mandiri dengan kata sandi. Contoh mengecualikan login yang tidak diaktifkan. Contoh harus dijalankan dalam database yang terkandung.
DECLARE @username sysname ;
DECLARE user_cursor CURSOR
FOR
SELECT dp.name
FROM sys.database_principals AS dp
JOIN sys.server_principals AS sp
ON dp.sid = sp.sid
WHERE dp.authentication_type = 1 AND sp.is_disabled = 0;
OPEN user_cursor
FETCH NEXT FROM user_cursor INTO @username
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE sp_migrate_user_to_contained
@username = @username,
@rename = N'keep_name',
@disablelogin = N'disable_login';
FETCH NEXT FROM user_cursor INTO @username
END
CLOSE user_cursor ;
DEALLOCATE user_cursor ;
Lihat Juga
Database Terkandung
sp_migrate_user_to_contained (T-SQL)
sys.dm_db_uncontained_entities (T-SQL)