Aracılığıyla paylaş


Kısmen bulunan bir veritabanına geçirme

Bu konuda kısmen içerdiği veritabanı modeli değiştirmek nasıl anlatılır ve geçiş adımlarını sağlar.

Bu konuda:

  • Veritabanı geçiş hazırlama

  • Kısmen içerdiği veritabanları etkinleştirme

  • Kısmen içerdiği için veritabanı dönüştürme

  • İçerdiği veritabanı kullanıcıları geçirme kullanıcılara

Veritabanı geçiş hazırlama

Kısmen içerdiği veritabanı modeli veritabanı geçirme dikkate alınarak aşağıdaki öğeleri gözden geçirin.

İçerdiği veritabanları etkinleştirme

İçerdiği veritabanları örneği üzerinde etkin SQL Server Veritabanı Altyapısı, içerdiği veritabanları oluşturulmadan önce.

İçerdiği veritabanları, Transact-sql kullanarak etkinleştirme

Aşağıdaki örnek örneği bulunan veritabanlarını sağlar SQL Server Veritabanı Altyapısı.

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO

İçerdiği veritabanları, Management Studio'yu kullanarak etkinleştirme

Aşağıdaki örnek örneği bulunan veritabanlarını sağlar SQL Server Veritabanı Altyapısı.

  1. Nesne Gezgini'nde sunucu adını sağ tıklatıp ardından Özellikler.

  2. Tarih İleri sayfa, buna Containment bölümünde, ayarlamak Bulunan veritabanlarını etkinleştirmek için seçenek gerçek.

  3. Tamam’ı tıklatın.

Kısmen içerdiği için veritabanı dönüştürme

Bir veritabanı bulunan bir veritabanına değiştirerek dönüştürülür içerik seçeneği.

Kısmen içerdiği için Transact-sql kullanarak bir veritabanı dönüştürme

Aşağıdaki örnek, adlı bir veritabanı dönüştürür Accountingkısmen bulunan bir veritabanına.

USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO

Kısmen içerdiği kullanarak Management Studio'da bir veritabanı dönüştürme

Aşağıdaki örnek, kısmen içerdiği bir veritabanı için veritabanı dönüştürür.

  1. Nesne Explorer'da genişletin veritabanları, veritabanının dönüştürülmesi ve ardından sağ Özellikler.

  2. Tarih seçenekleri sayfasında, değiştirmek içerik türü için seçenek kısmi.

  3. Tamam’ı tıklatın.

İçerdiği veritabanı kullanıcıları geçirme kullanıcılara

Aşağıdaki örnek esas alan tüm kullanıcıların geçirir SQL Serveriçindeki oturuma veritabanı kullanıcı ile parola. Örneği etkin olmayan oturumları dışlar. Örnekte içerilen veritabanında yürütülmelidir.

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 ;

Ayrıca bkz.

Başvuru

sp_migrate_user_to_contained (Transact-sql)

sys.dm_db_uncontained_entities (Transact-sql)

Kavramlar

İçerdiği veritabanları