Sdílet prostřednictvím


Migrace do částečně obsažené databáze

platí pro:SQL Server

V tomto tématu se dozvíte, jak se připravit na změnu částečně obsaženého databázového modelu, a pak poskytne kroky migrace.

V tomto tématu:

Příprava na migraci databáze

Při zvažování migrace databáze do částečně obsaženého databázového modelu si projděte následující položky.

  • Měli byste porozumět částečně obsaženému databázovému modelu. Další informace naleznete v části Databáze obsahující.

  • Měli byste porozumět rizikům, která jsou jedinečná pro částečně obsažené databáze. Další informace naleznete v tématu osvědčené postupy zabezpečení s databázemi s omezením.

  • Obsahové databáze nepodporují replikaci, zachytávání dat změn ani sledování změn. Ověřte, že databáze tyto funkce nepoužívá.

  • Projděte si seznam databázových funkcí, které jsou upraveny pro částečně obsažené databáze. Další informace naleznete v tématu Změněné funkce (omezená databáze).

  • Dotaz sys.dm_db_uncontained_entities (Transact-SQL) k vyhledání neobsazených objektů nebo funkcí v databázi. Další informace najdete.

  • Monitorujte database_uncontained_usage XEvent, abyste viděli, kdy se používají neobsahované funkce.

Povolení databází s omezením

Integrované databáze musí být povoleny na instanci databázového stroje SQL Serveru, než lze vytvořit integrované databáze.

Povolení databází s omezením pomocí Transact-SQL

Následující příklad povoluje samostatné databáze v instanci databázového stroje SQL Server.

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

Povolení databází s omezením pomocí sady Management Studio

Následující příklad umožňuje používání obsažených databází v instanci databázového stroje SQL Server.

  1. V Průzkumníku objektů klikněte pravým tlačítkem myši na název serveru a potom klikněte na Vlastnosti.

  2. Na stránce Pokročilé, v oddílu Omezení, nastavte možnost Povolit omezené databáze na True.

  3. Vyberte OK.

Převod databáze na částečně obsaženou

Databáze se převede na nezávislou databázi změnou možnosti CONTAINMENT.

Převod databáze na částečně uzavřenou pomocí Transact-SQL

Následující příklad převede databázi s názvem Accounting na částečně obsaženou databázi.

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

Převod databáze na částečně obsaženou pomocí Management Studio

Následující příklad převede databázi na částečně obsaženou databázi.

  1. V Průzkumníku objektů rozbalte Databáze, klepněte pravým tlačítkem myši na databázi, která se má převést, a potom klepněte na tlačítko Vlastnosti.

  2. Na stránce Možnosti změňte možnost typu zadržení na Částečné.

  3. Vyberte OK.

Migrace uživatelů k uživatelům uzavřené databáze

Následující příklad migruje všechny uživatele založené na přihlášeních SQL Serveru na uživatele v interní databázi s hesly. Příklad vylučuje přihlášení, která nejsou povolená. Příklad musí být proveden v obsažené databázi.

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 ;  

Viz také

Uzavřené databáze
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)