Migrieren zu einer partiell eigenständigen Datenbank
Gilt für: SQL Server
In diesem Thema wird beschrieben, wie die Umstellung auf das teilweise eigenständige Datenbankmodell vorbereitet wird. Anschließend werden die Migrationsschritte erläutert.
In diesem Thema:
Konvertieren einer Datenbank in eine teilweise eigenständige Datenbank
Migrieren von Benutzern zu Benutzern eigenständiger Datenbanken
Vorbereiten auf das Migrieren einer Datenbank
Überprüfen Sie die folgenden Punkte, wenn Sie eine Datenbank zum teilweise eigenständigen Datenbankmodell migrieren möchten.
Machen Sie sich mit dem teilweise eigenständigen Datenbankmodell vertraut. Weitere Informationen finden Sie unter Contained Databases.
Sie müssen die Risiken verstehen, die mit teilweise eigenständigen Datenbanken verbunden sind. Weitere Informationen finden Sie unter Security Best Practices with Contained Databases.
Enthaltene Datenbanken unterstützen weder die Replikation, noch das Aufzeichnen oder das Nachverfolgen von Änderungsdaten. Vergewissern Sie sich, dass diese Funktionen für die Datenbank nicht verwendet werden.
Sehen Sie die Liste der Datenbankfunktionen ein, die für teilweise eigenständige Datenbanken geändert werden. Weitere Informationen finden Sie unter Geänderte Funktionen (Contained Database).
Fragen Sie sys.dm_db_uncontained_entities (Transact-SQL) ab, um nicht enthaltene Objekte oder Funktionen in der Datenbank zu suchen. Weitere Informationen findest du unter .
Überwachen Sie das database_uncontained_usage -XEvent, um festzustellen, ob nicht enthaltene Funktionen verwendet werden.
Aktivieren enthaltener Datenbanken
Enthaltene Datenbanken müssen für die SQL Server–Datenbank-Engine-Instanz aktiviert sein, bevor sie erstellt werden können.
Aktivieren von enthaltenen Datenbanken mit Transact-SQL
Im folgenden Beispiel werden enthaltene Datenbanken für die SQL Server-Datenbank-Engine-Instanz aktiviert.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Aktivieren von enthaltenen Datenbanken mit Management Studio
Im folgenden Beispiel werden enthaltene Datenbanken für die SQL Server-Datenbank-Engine-Instanz aktiviert.
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Servernamen, und klicken Sie auf Eigenschaften.
Legen Sie auf der Seite Erweitert im Abschnitt Kapselung die Option Enthaltene Datenbanken aktivieren auf Truefest.
Wählen Sie OK aus.
Konvertieren einer Datenbank in eine teilweise eigenständige Datenbank
Eine Datenbank wird in eine enthaltene Datenbank konvertiert, indem die CONTAINMENT -Option geändert wird.
Konvertieren einer Datenbank in eine teilweise eigenständige Datenbank mit Transact-SQL
Im folgenden Beispiel wird die Datenbank Accounting
in eine teilweise eigenständige Datenbank konvertiert.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Konvertieren einer Datenbank in die teilweise eigenständige Datenbank mit Management Studio
Im folgenden Beispiel wird die Datenbank in eine teilweise eigenständige Datenbank konvertiert.
Erweitern Sie im Objekt-Explorer Datenbanken, klicken Sie mit der rechten Maustaste auf die zu konvertierende Datenbank, und klicken Sie anschließend auf Eigenschaften.
Ändern Sie auf der Seite Optionen die Option Kapselungstyp in Teilweise.
Wählen Sie OK aus.
Migrieren von Benutzern zu Benutzern eigenständiger Datenbanken
Im folgenden Beispiel werden alle Benutzer, die auf SQL Server-Anmeldungen basieren, in Benutzer enthaltener Datenbanken mit Kennwörtern migriert. Nicht berücksichtigt werden Anmeldungen, 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 ;
Weitere Informationen
Eigenständige Datenbanken
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)