Delen via


Migreren naar een gedeeltelijk ingesloten database

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.

  1. Klik in Objectverkenner met de rechtermuisknop op de servernaam en klik vervolgens op Eigenschappen.

  2. Stel op de pagina Geavanceerd in de sectie Containment de optie Ingesloten databases inschakelen in op Waar.

  3. 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.

  1. Vouw in Objectverkenner Databasesuit, klik met de rechtermuisknop op de database die u wilt converteren en klik vervolgens op Eigenschappen.

  2. Wijzig op de pagina Opties de type insluiting optie naar gedeeltelijk.

  3. 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)