Przenoszenie TDE chronionych bazy danych do innegoSQL Server

W tym temacie opisano kroki, aby chronić SQL Server bazy danych za pomocą szyfrowanie danych przezroczyste (TDE), a następnie przenieść bazę danych do innego wystąpienie programu SQL Server.

W tym temacie

  • Przed rozpoczęciem:

    Tło

    Zabezpieczenia

  • Przykład:

    Aby utworzyć bazę danych, chronione przez szyfrowanie danych przezroczyste

    Aby przenieść TDE chronione bazy danych nowe wystąpienie programu SQL Server

  • Nawiązanie: Czynności po przeniesieniu TDE chronione bazy danych do nowego wystąpienie programu SQL Server

Tło

Wykonuje TDE rzeczywistym -czas we/wy, szyfrowanie i odszyfrowywania plików danych i dziennika.szyfrowanie wykorzystuje klucz szyfrowanie bazy danych (DEK), przechowywanego w rekordzie rozruchowym bazy danych dla dostępności podczas odzyskiwanie.DEK jest klucz zawartości zabezpieczone przy użyciu certyfikat przechowywane w master bazy danych serwera lub klucza asymetrycznego, chroniony przez moduł EKM.Podczas przenoszenia TDE chroniony bazy danych, należy również przenieść, certyfikat lub klucz asymetrycznego, który jest używany do otwierania DEK.certyfikat lub klucz asymetrycznego, muszą być zainstalowane w wzorca bazy danych obiekt docelowy serwera, tak aby SQL Server można uzyskać dostęp do plików bazy danych.Aby uzyskać więcej informacji, zobacz Opis przezroczystego szyfrowania danych (TDE).

Zabezpieczenia

Uprawnienia

Wymaga CONTROL DATABASE uprawnienie do wzorca bazy danych do utworzenia klucz głównego bazy danych.

Wymaga CREATE CERTIFICATE uprawnienie do wzorca bazy danych, aby utworzyć certyfikat, który chroni DEK.

Wymaga CONTROL DATABASE uprawnień w bazie danych zaszyfrowanych i VIEW DEFINITION uprawnienie dla certyfikat lub klucz asymetrycznego, który jest używany do szyfrowanie klucz szyfrowanie bazy danych.

[Top]

Tworzenie TDE chronione bazy danych

Tworzenie bazy danych chronione przez szyfrowanie danych przezroczyste, przy użyciu klucz szyfrowania bazy danych chroniona przez certyfikat w wzorca bazy danych.

Aby utworzyć bazę danych, chronione przez szyfrowanie danych przezroczyste

  1. Edytor kwerend wprowadź następujący Transact-SQL polecenia do tworzenia klucz głównego do bazy danych i certyfikat w wzorca bazy danych.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Zastąp gwiazdki hasła.Nie należy używać pustego hasła. Należy używać silnego hasła.

    USE master ;
    GO
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '**************';
    GO
    CREATE CERTIFICATE TestSQLServerCert 
    WITH SUBJECT = 'Certificate to protect TDE key'
    GO
    
  2. Tworzenie kopia zapasowa certyfikat serwera w wzorca bazy danych.W przypadku utraty certyfikat, który jest używany do ochrony klucz szyfrowanie bazy danych nie można uzyskać dostępu do danych w bazie danych chronionych TDE.Poniższy przykład zapisuje kopię zapasową certyfikat i plik klucz prywatnego, w domyślnej lokalizacji danych dla tego wystąpienie SQL Server ()C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA).

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Aby odzyskać certyfikat musi zachować kopie pliku certyfikatu i plik klucz prywatnego.Hasło klucz prywatnego nie musi być taka sama jak hasło bazy danych klucz głównego.

    BACKUP CERTIFICATE TestSQLServerCert 
    TO FILE = 'TestSQLServerCert'
    WITH PRIVATE KEY 
    (
        FILE = 'SQLPrivateKeyFile',
        ENCRYPTION BY PASSWORD = '**************'
    );
    GO
    
  3. Utwórz bazę danych chronionych przez TDE.

    CREATE DATABASE CustRecords ;
    GO
    
  4. Przełącz się do nowej bazy danych.Utwórz klucz szyfrowanie bazy danych, która jest chroniona przez certyfikat serwera w wzorca bazy danych.Następnie zmień nowej bazy danych do bazy danych przy użyciu TDE szyfrowania.

    USE CustRecords;
    GO
    CREATE DATABASE ENCRYPTION KEY
    WITH ALGORITHM = AES_128
    ENCRYPTION BY SERVER CERTIFICATE TestSQLServerCert;
    GO
    ALTER DATABASE CustRecords
    SET ENCRYPTION ON;
    GO
    

    Ostrzeżenie

    Aby wykonać ten krok, używając SQL Server Management Studio, w Eksploratorze obiektów, kliknij prawym przyciskiem myszy bazę danych, wskaż zadania, a następnie kliknij przycisk Zarządzanie szyfrowanie bazy danych.Użyj Zarządzanie szyfrowanie bazy danych okno dialogowe Wybierz klucz szyfrowania bazy danych i zestaw bazy danych szyfrowania na.

  5. Tworzenie prostej tabela.Wprowadzanie danych do tabela, a następnie wybierz z tabela do testowania bazy danych.

    CREATE TABLE CustomerRecord
        (CustomerID int PRIMARY KEY,
        SecretData nvarchar(100) NOT NULL) ;
    GO
    INSERT CustomerRecord (CustomerID,SecretData)
    VALUES (23997, 'Plain text data') ;
    GO
    SELECT CustomerID, SecretData FROM CustomerRecord ;
    GO
    

[Top]

Przenoszenie TDE chronionych bazy danych

Aby przenieść TDE chronione bazy danych do nowego wystąpienie programu SQL Server

  1. Odłączanie TDE chronionych bazy danych z źródło serwera.

    USE master ;
    GO
    EXEC master.dbo.sp_detach_db @dbname = N'CustRecords';
    GO
    

    Ostrzeżenie

    Aby wykonać ten krok za pomocą Management Studio, w Eksploratorze obiektów, kliknij prawym przyciskiem myszy bazę danych, wskaż zadania, a następnie kliknij przycisk Odłącz.Kliknij przycisk OK.

  2. Używanie okna Eksploratora, przenieś lub skopiuj pliki bazy danych z źródło serwera w tej samej lokalizacji na serwerze docelowym.

    Ostrzeżenie

    Zwykle dwóch plików bazy danych (CustomerRecords.mdf i CustomerRecords_log.LDF) w lokalizacji domyślnej C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.Nazwy plików i lokalizacje mogą być różne.

  3. Za pomocą Eksploratora Windows przenieś lub kopia zapasowa certyfikat serwera i plik klucz prywatnego z źródło serwera w tej samej lokalizacji na serwerze docelowym.W naszym przykładzie pliki te są przechowywane w folderze domyślnym danych na C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.

  4. Utwórz klucz główny bazy danych na obiekt docelowy wystąpienie SQL Server.Hasło musi być taka sama, jak źródło serwera.

    USE master;
    GO
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '**************';
    GO
    
  5. Utwórz certyfikat serwera przy użyciu oryginalnego certyfikatu serwera plik kopia zapasowa.Hasło musi być taka sama, jak hasło używane podczas tworzenia kopia zapasowa.

    CREATE CERTIFICATE TestSQLServerCert 
    FROM FILE = 'TestSQLServerCert'
    WITH PRIVATE KEY 
    (
        FILE = 'SQLPrivateKeyFile',
        DECRYPTION BY PASSWORD = '**************'
    );
    GO
    
  6. Dołącz bazy danych, która jest przenoszony.Ścieżka plików bazy danych musi być miejsce, w którym są przechowywane pliki bazy danych.

    CREATE DATABASE [CustRecords] ON 
    ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\CustRecords.mdf' ),
    ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\CustRecords_log.LDF' )
    FOR ATTACH ;
    GO
    

    Ostrzeżenie

    Aby wykonać ten krok, używając Management Studio, w Eksploratorze obiektów, kliknij prawym przyciskiem myszy baz danych, a następnie kliknij przycisk Attach.Kliknij Dodaj do lokalizowania CustRecords.mdf pliku, a następnie kliknij OK.

  7. Test dostępu do bazy danych, wybierając z tabela danych.

    USE CustRecords ;
    GO
    SELECT CustomerID, SecretData FROM CustomerRecord ;
    GO
    

    [Top]

Nawiązanie: Czynności po przeniesieniu TDE chronione bazy danych do nowego wystąpienie programu SQL Server

Kopia zapasowa baza danych master

  • Instalowanie certyfikat i dołączania bazy danych zostały zmienione informacje w baza danych master.Należy utworzyć nową kopię zapasową baza danych master.

[Top]