Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird erläutert, wie Sie sich auf den Übergang zum Modell der teilweise enthaltenen Datenbank vorbereiten und die Migrationsschritte durchführen.
In diesem Thema:
Vorbereiten der Migration einer Datenbank
Überprüfen Sie die folgenden Elemente, wenn Sie die Migration einer Datenbank in das teilweise enthaltene Datenbankmodell in Erwägung ziehen.
Sie sollten das teilweise enthaltene Datenbankmodell verstehen. Weitere Informationen finden Sie unter Contained Databases.
Sie sollten die Risiken verstehen, die für teilweise isolierte Datenbanken einzigartig sind. Weitere Informationen finden Sie unter Security Best Practices with Contained Databases.
Enthaltene Datenbanken unterstützen keine Replikation, Änderungsdatenerfassung oder Änderungsnachverfolgung. Bestätigen Sie, dass die Datenbank diese Features nicht verwendet.
Überprüfen Sie die Liste der Datenbankfeatures, die für teilweise enthaltene Datenbanken geändert werden. Weitere Informationen finden Sie unter "Geänderte Features "Enthaltene Datenbank".
Fragen Sie sys.dm_db_uncontained_entities (Transact-SQL) ab, um nicht enthaltene Objekte oder Features in der Datenbank zu finden. Weitere Informationen finden Sie unter.
Überwachen Sie die database_uncontained_usage XEvent, um festzustellen, wann nicht enthaltene Features verwendet werden.
Enthaltene Datenbanken aktivieren
Enthaltene Datenbanken müssen für die Instanz des SQL Server-Datenbankmoduls aktiviert sein, bevor enthaltene Datenbanken erstellt werden können.
Aktivieren von enthaltenen Datenbanken mithilfe von Transact-SQL
Im folgenden Beispiel werden enthaltene Datenbanken in der Instanz des SQL Server-Datenbankmoduls aktiviert.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Aktivieren von enthaltenen Datenbanken mithilfe von Management Studio
Im folgenden Beispiel werden enthaltene Datenbanken in der Instanz des SQL Server-Datenbankmoduls aktiviert.
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Servernamen, und klicken Sie dann auf Eigenschaften.
Stellen Sie auf der Erweitert-Seite im Abschnitt Eindämmung die Option Enthaltene Datenbanken aktivieren auf True ein.
Klicke auf OK.
Konvertieren einer Datenbank in eine teilweise enthaltene
Eine Datenbank wird durch Ändern der CONTAINMENT-Option in eine enthaltene Datenbank konvertiert.
Umwandeln einer Datenbank in eine teilweise enthaltene Datenbank mit Transact-SQL
Im folgenden Beispiel wird die Datenbank mit dem Namen Accounting in eine teilweise enthaltene Datenbank konvertiert.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Konvertieren einer Datenbank in eine teilweise enthaltene mit Management Studio.
Im folgenden Beispiel wird eine Datenbank in eine teilweise enthaltene Datenbank konvertiert.
Erweitern Sie im Objekt-Explorer Datenbanken, klicken Sie mit der rechten Maustaste auf die Zu konvertierende Datenbank, und klicken Sie dann auf Eigenschaften.
Ändern Sie auf der Optionen-Seite die Einschränkungstyp-Option auf Teilweise.
Klicke auf OK.
Migrieren von Benutzern zu enthaltenen Datenbankbenutzern
Im folgenden Beispiel werden alle Benutzer, die auf SQL Server-Anmeldungen basieren, in Benutzer enthaltener Datenbanken mit Kennwörtern migriert. Das Beispiel schließt Anmeldungen aus, die nicht aktiviert sind. Das Beispiel muss in der enthaltenen Datenbank ausgeführt werden.
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 ;
Siehe auch
Eigenständige Datenbanken
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)