Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu, kısmen kaplı veritabanı modeline geçiş için nasıl hazırlanacağını tartışır ve ardından göç adımlarını sunar.
Bir Veritabanı Taşımaya Hazırlanma
Kısmen içerili veritabanı modeline bir veritabanı taşımayı düşünürken aşağıdaki maddeleri gözden geçirin.
Kısmen kapalı veritabanı modelini anlamalısın. Daha fazla bilgi için bkz. Kapsanan Veritabanları.
Kısmen kapalı veritabanlarına özgü riskleri anlamalısınız. Daha fazla bilgi için bkz. Bağımsız Veritabanları ile En İyi Güvenlik Yöntemleri.
İçerilen veritabanları çoğaltmayı, değişiklik verilerinin yakalanmasını veya değişiklik izlemeyi desteklemez. Veritabanının bu özellikleri kullanmadığını doğrulayın.
Kısmen kapalı veritabanları için değiştirilen veritabanı özelliklerinin listesini gözden geçirin. Daha fazla bilgi için Değiştirilen Özellikler (İçeren Veritabanı) konusuna bakın.
Veritabanında içermeyen nesneleri veya özellikleri bulmak için sys.dm_db_uncontained_entities (Transact-SQL) sorgulama. Daha fazla bilgi için bkz.
database_uncontained_usage XEvent'i izleyerek kontrolsüz özelliklerin ne zaman kullanıldığını görün.
Kapsanan Veritabanlarını Etkinleştirme
Kapsanan veritabanları oluşturulmadan önce, kapsanan veritabanları özelliği SQL Server Veritabanı Altyapısı örneğinde etkinleştirilmelidir.
Kapsamlı Veritabanlarını Transact-SQL Kullanarak Etkinleştirmek
Aşağıdaki örnek, SQL Server Database Engine örneğinde içerili veritabanlarını etkinleştirir.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Management Studio kullanarak Kapsamlı Veritabanları Etkinleştirme
Aşağıdaki örnek, SQL Server Database Engine örneğinde içerili veritabanlarını etkinleştirir.
Nesne Gezgini'da sunucu adına sağ tıklayın ve ardından Özellikler'e tıklayın.
Gelişmiş sayfasında, Containment bölümünde, Enable Contained Databases seçeneğini True olarak ayarlayın.
Tamam'ı seçin.
Bir veritabanını kısmen kapalı bir hale dönüştürmek
Bir veritabanı, CONTAINMENT seçeneği değiştirilerek kapalı veritabanına dönüştürülür.
Transact-SQL Kullanarak Bir Veritabanını Kısmen Kapsanan Hale Dönüştürme
Aşağıdaki örnek, adlandırılmış Accounting bir veritabanını kısmen içinde bulunan bir veritabanına dönüştürür.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Management Studio kullanarak bir veritabanını kısmen kapalı olarak dönüştürmek
Aşağıdaki örnek, bir veritabanını kısmen kapalı bir veritabanına dönüştürür.
Nesne Gezgini'da Veritabanları'nı genişletin, dönüştürülecek veritabanına sağ tıklayın ve ardından Özellikler'e tıklayın.
Seçenekler sayfasında, Kapsama türü seçeneğini Kısmi olarak değiştirin.
Tamam'ı seçin.
Kullanıcıları Sınırlı Veritabanı Kullanıcılarına Taşımak
Aşağıdaki örnek, SQL Server girişlerine dayalı tüm kullanıcıları, şifreli içeren veritabanı kullanıcılarına taşımaktadır. Örnek, etkin olmayan girişleri hariç tutmaktadır. Örnek, içerdiği veritabanında çalıştırılmalıdır.
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 ;