Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
W tym temacie omówiono sposób przygotowania do zmiany modelu częściowo zawartej bazy danych, a następnie przedstawiono kroki migracji.
W tym temacie:
Przygotowywanie do migracji bazy danych
Przejrzyj następujące elementy, rozważając migrację bazy danych do częściowo zawartego modelu bazy danych.
Należy zrozumieć częściowo zawarty model bazy danych. Aby uzyskać więcej informacji, zobacz Zawarte bazy danych.
Należy zrozumieć czynniki ryzyka, które są unikatowe dla częściowo zawartych baz danych. Aby uzyskać więcej informacji, zobacz Najlepsze praktyki zabezpieczeń dla baz danych zawierających.
Zawarte bazy danych nie obsługują replikacji, przechwytywania zmian ani śledzenia zmian. Upewnij się, że baza danych nie używa tych funkcji.
Przejrzyj listę funkcji bazy danych, które są modyfikowane dla częściowo zawartych baz danych. Aby uzyskać więcej informacji, zobacz Zmodyfikowane funkcje (Zawarta baza danych).
Wykonywanie zapytań sys.dm_db_uncontained_entities (Transact-SQL) w celu znalezienia nieokontenowanych obiektów lub funkcji w bazie danych. Aby uzyskać więcej informacji, zobacz.
Monitoruj database_uncontained_usage XEvent, aby zobaczyć, kiedy są używane niekontenowane funkcje.
Włączanie zawartych baz danych
Zawarte bazy danych muszą być włączone w wystąpieniu aparatu bazy danych programu SQL Server, zanim można utworzyć zawarte bazy danych.
Włączanie zawartych baz danych przy użyciu Transact-SQL
W poniższym przykładzie włączono kontenerowe bazy danych na wystąpieniu silnika baz danych SQL Server.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Włączanie zawartych baz danych przy użyciu programu Management Studio
W poniższym przykładzie włącza się zawarte bazy danych w wystąpieniu aparatu bazy danych programu SQL Server.
W Eksploratorze obiektów kliknij prawym przyciskiem myszy nazwę serwera, a następnie kliknij Właściwości.
Na stronie Advanced w sekcji Zawieranie ustaw opcję Włącz zawarte bazy danych na True.
Wybierz pozycję OK.
Konwertowanie bazy danych na częściowo zawarte
Baza danych jest konwertowana na zawartą bazę danych, zmieniając opcję CONTAINMENT.
Konwertowanie bazy danych na częściowo zawarte przy użyciu Transact-SQL
Poniższy przykład konwertuje bazę danych o nazwie Accounting
na częściowo zawartą bazę danych.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Konwertowanie bazy danych na częściowo zawarte przy użyciu programu Management Studio
Poniższy przykład konwertuje bazę danych na częściowo zawartą bazę danych.
W Eksploratorze obiektów rozwiń Bazy danych, kliknij bazę danych przeznaczoną do konwersji prawym przyciskiem myszy, a następnie kliknij Właściwości.
Na stronie Opcje, zmień opcję typ zawierania na częściowa.
Wybierz pozycję OK.
Migracja użytkowników do użytkowników wbudowanej bazy danych
Poniższy przykład migruje wszystkich użytkowników bazujących na logowaniach SQL Server do użytkowników kontenerowych bazy danych z hasłami. Przykład wyklucza logowania, które nie są włączone. Przykład należy wykonać w zawartej bazie danych.
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 ;
Zobacz też
Zawarte Bazy Danych
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)