Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Det här avsnittet beskriver hur du förbereder för att ändra till den delvis inneslutna databasmodellen och tillhandahåller sedan migreringsstegen.
I det här avsnittet:
Förbereder migrering av en databas
Granska följande objekt när du överväger att migrera en databas till den delvis inneslutna databasmodellen.
Du bör förstå den delvis inneslutna databasmodellen. Mer information finns i Inneslutna databaser.
Du bör förstå risker som är unika för delvis inneslutna databaser. Mer information finns i bästa praxis för säkerhet med inneslutna databaser.
Inneslutna databaser stöder inte replikering, insamling av ändringsdata eller ändringsspårning. Bekräfta att databasen inte använder de här funktionerna.
Granska listan över databasfunktioner som har ändrats för delvis inneslutna databaser. Mer information finns i Ändrade funktioner (innesluten databas).
Fråga sys.dm_db_uncontained_entities (Transact-SQL) för att hitta icke-innehållna objekt eller funktioner i databasen. För mer information, se.
Övervaka database_uncontained_usage XEvent för att se när okontrollerade funktioner används.
Aktivera inneslutna databaser
Inneslutna databaser måste vara aktiverade på instansen av SQL Server Database Engine innan inneslutna databaser kan skapas.
Aktivera inneslutna databaser med hjälp av Transact-SQL
I följande exempel aktiveras inneslutna databaser på instansen av SQL Server Database Engine.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Aktivera inneslutna databaser med Hjälp av Management Studio
I följande exempel aktiveras inneslutna databaser på instansen av SQL Server Database Engine.
Högerklicka på servernamnet i Object Explorer och klicka sedan på Egenskaper.
På sidan Avancerat i avsnittet Containment anger du alternativet Aktivera inneslutna databaser till True.
Välj OK.
Konvertera en databas till delvis innesluten
En databas konverteras till en innesluten databas genom att alternativet CONTAINMENT ändras.
Konvertera en databas till delvis innesluten med hjälp av Transact-SQL
I följande exempel konverteras en databas med namnet Accounting
till en delvis innesluten databas.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Konvertera en databas till delvis innesluten med hjälp av Management Studio
I följande exempel konverteras en databas till en delvis innesluten databas.
I Object Explorer expanderar du Databaser, högerklickar på databasen som ska konverteras och klickar sedan på Egenskaper.
På sidan Alternativ ändrar du alternativet inneslutningstyp till Partiell.
Välj OK.
Migrera användare till begränsade databasanvändare
I följande exempel migreras alla användare som baseras på SQL Server-inloggningar till oberoende databasanvändare med lösenord. Exemplet exkluderar inloggningar som inte är aktiverade. Exemplet måste köras i den inneslutna databasen.
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 ;
Se även
inneslutna databaser
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)