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.
V Průzkumníku objektů klikněte pravým tlačítkem myši na název serveru a potom klikněte na Vlastnosti.
Na stránce Pokročilé, v oddílu Omezení, nastavte možnost Povolit omezené databáze na True.
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.
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.
Na stránce Možnosti změňte možnost typu zadržení na Částečné.
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)