Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Dit onderwerp bespreekt hoe u zich kunt voorbereiden op de overstap naar het gedeeltelijk ingesloten databasemodel en biedt vervolgens de migratiestappen.
In dit onderwerp:
Voorbereiden op het migreren van een database
Bekijk de volgende items bij het migreren van een database naar het gedeeltelijk ingesloten databasemodel.
U moet het gedeeltelijk ingesloten databasemodel begrijpen. Zie Ingesloten databasesvoor meer informatie.
U moet de risico's begrijpen die uniek zijn voor gedeeltelijk ingesloten databases. Zie Aanbevolen beveiligingsprocedures met ingesloten databasesvoor meer informatie.
Ingesloten databases bieden geen ondersteuning voor replicatie, het vastleggen van wijzigingengegevens of het bijhouden van wijzigingen. Controleer of de database deze functies niet gebruikt.
Bekijk de lijst met databasefuncties die zijn gewijzigd voor gedeeltelijk ingesloten databases. Zie Gewijzigde functies (ingesloten database)voor meer informatie.
Query's uitvoeren op sys.dm_db_uncontained_entities (Transact-SQL) om niet-bevlekte objecten of functies in de database te vinden. Zie voor meer informatie.
Bewaak de database_uncontained_usage XEvent om te zien wanneer niet-gecontainede functies worden gebruikt.
Ingesloten databases inschakelen
Ingesloten databases moeten zijn ingeschakeld op het exemplaar van SQL Server Database Engine voordat ingesloten databases kunnen worden gemaakt.
Ingesloten databases inschakelen met behulp van Transact-SQL
In het volgende voorbeeld worden ingesloten databases ingeschakeld op het exemplaar van de SQL Server Database Engine.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Ingesloten databases inschakelen met Management Studio
In het volgende voorbeeld worden ingesloten databases ingeschakeld op het exemplaar van de SQL Server Database Engine.
Klik in Objectverkenner met de rechtermuisknop op de servernaam en klik vervolgens op Eigenschappen.
Stel op de pagina Geavanceerd in de sectie Containment de optie Ingesloten databases inschakelen in op Waar.
Klik op OK.
Een database converteren naar gedeeltelijk ingesloten
Een database wordt geconverteerd naar een ingesloten database door de optie CONTAINMENT te wijzigen.
Een database converteren naar gedeeltelijk ingesloten met behulp van Transact-SQL
In het volgende voorbeeld wordt een database met de naam Accounting
geconverteerd naar een gedeeltelijk ingesloten database.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Een database converteren naar gedeeltelijk ingesloten met behulp van Management Studio
In het volgende voorbeeld wordt een database geconverteerd naar een gedeeltelijk ingesloten database.
Vouw in Objectverkenner Databasesuit, klik met de rechtermuisknop op de database die u wilt converteren en klik vervolgens op Eigenschappen.
Wijzig op de pagina Opties de type insluiting optie naar gedeeltelijk.
Selecteer OK-.
Gebruikers overzetten naar ingesloten databasegebruikers
In het volgende voorbeeld worden alle gebruikers gemigreerd die zijn gebaseerd op SQL Server-aanmeldingen naar ingesloten databasegebruikers met wachtwoorden. In het voorbeeld worden aanmeldingen uitgesloten die niet zijn ingeschakeld. Het voorbeeld moet worden uitgevoerd in de ingesloten database.
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 ;
Zie ook
ingesloten databases
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)