Bermigrasi ke Database yang Terkandung Sebagian
Berlaku untuk:SQL Server
Topik ini membahas cara bersiap untuk mengubah 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 terkandung.
Anda harus memahami model database yang terkandung sebagian. Untuk informasi selengkapnya, lihat Database Mandiri.
Anda harus memahami risiko yang unik untuk database yang terkandung sebagian. Untuk informasi selengkapnya, lihat Praktik Terbaik Keamanan dengan Database Mandiri.
Database mandiri tidak mendukung replikasi, mengubah pengambilan data, atau pelacakan perubahan. Konfirmasikan bahwa 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 Mandiri).
Kueri sys.dm_db_uncontained_entities (Transact-SQL) untuk menemukan objek atau fitur yang tidak berkelanjutan dalam database. Untuk informasi selengkapnya, lihat.
Pantau database_uncontained_usage XEvent untuk melihat kapan fitur yang tidak berkelanjutan digunakan.
Aktifkan Database Mandiri
Database mandiri harus diaktifkan pada instans mesin database SQL Server, sebelum database mandiri dapat dibuat.
Mengaktifkan Database Mandiri Menggunakan Transact-SQL
Contoh berikut mengaktifkan database mandiri pada instans mesin database SQL Server.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Mengaktifkan Database Mandiri Menggunakan Management Studio
Contoh berikut mengaktifkan database mandiri pada instans mesin database SQL Server.
Di Object Explorer, klik kanan nama server, lalu klik Properti.
Pada halaman Tingkat Lanjut , di bagian Penahanan , atur opsi Aktifkan Database Mandiri ke True.
PilihOK.
Mengonversi Database menjadi Terkandung Sebagian
Database dikonversi ke database mandiri dengan mengubah opsi CONTAINMENT .
Mengonversi Database menjadi 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 dimuat Menggunakan Management Studio
Contoh berikut mengonversi database menjadi database yang terkandung sebagian.
Di Object Explorer, perluas Database, klik kanan database yang akan dikonversi, lalu klik Properti.
Pada halaman Opsi , ubah opsi Jenis penahanan menjadi Parsial.
PilihOK.
Memigrasikan Pengguna ke Pengguna Database Mandiri
Contoh berikut memigrasikan semua pengguna yang didasarkan pada SQL Server masuk ke pengguna database mandiri dengan kata sandi. Contoh ini 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 Mandiri
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)