Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Ez a cikk azt ismerteti, hogyan védhet meg egy adatbázist transzparens adattitkosítással (TDE), majd hogyan helyezheti át az adatbázist az SQL Server egy másik példányára az SQL Server Management Studio vagy a Transact-SQL használatával. A TDE valós idejű I/O-titkosítást és az adatok és naplófájlok visszafejtést végez. A titkosítás egy adatbázis-titkosítási kulcsot (DEK) használ, amelyet az adatbázis rendszerindítási rekordjában tárol a rendelkezésre állás érdekében a helyreállítás során. A DEK egy szimmetrikus kulcs, amelyet a kiszolgáló master adatbázisában tárolt tanúsítvány vagy egy EKM-modul által védett aszimmetrikus kulcs véd.
Korlátozások
A TDE által védett adatbázisok áthelyezésekor a DEK megnyitásához használt tanúsítványt vagy aszimmetrikus kulcsot is át kell helyeznie. A tanúsítványt vagy az aszimmetrikus kulcsot telepíteni kell a célkiszolgáló
masteradatbázisába, hogy az SQL Server hozzáférhessen az adatbázisfájlokhoz. További információ: Transzparens adattitkosítás (TDE).A tanúsítvány helyreállításához meg kell őriznie a tanúsítványfájl és a titkos kulcs fájljának másolatait is. A titkos kulcs jelszavának nem kell megegyeznie az adatbázis főkulcsjelszójának jelszavával.
Az SQL Server alapértelmezés szerint
C:\Program Files\Microsoft SQL Server\MSSQL<xx>.MSSQLSERVER\MSSQL\DATAtárolja az itt létrehozott fájlokat, ahol<xx>a verziószám.
Engedélyek
Az adatbázis főkulcsának létrehozásához
CONTROL DATABASEengedély szükséges amasteradatbázishoz.A DEK-t védő tanúsítvány létrehozásához
CREATE CERTIFICATEengedélyre van szükség azmasteradatbázison.CONTROL DATABASEengedélyt igényel a titkosított adatbázisban, ésVIEW DEFINITIONengedélyt az adatbázis titkosításához használt tanúsítványra vagy aszimmetrikus kulcsra.
Transzparens adattitkosítással védett adatbázis létrehozása
Az alábbi eljárások bemutatják, hogyan hozhat létre TDE által védett adatbázist az SQL Server Management Studio és a Transact-SQL használatával.
Az SQL Server Management Studio használata
Hozzon létre egy adatbázis-főkulcsot és -tanúsítványt a
masteradatbázisban. További információ: A Transact-SQL használata a cikk későbbi részében.Készítsen biztonsági másolatot a kiszolgálótanúsítványról a
masteradatbázisban. További információ: A Transact-SQL használata a cikk későbbi részében.Az Object Explorerben kattintson a jobb gombbal az Adatbázisok mappára, és válassza Új adatbázislehetőséget.
Az Új adatbázis párbeszédpanel Adatbázis neve mezőbe írja be az új adatbázis nevét.
A Tulajdonos mezőbe írja be az új adatbázis tulajdonosának nevét. Alternatív megoldásként válassza a három pontot (...) az Adatbázis-tulajdonos kiválasztása párbeszédpanel megnyitásához. További információ az új adatbázis létrehozásáról: Adatbázis létrehozása.
Az Object Explorerben válassza a pluszjelet a Adatbázisok mappa kibontásához.
Kattintson a jobb gombbal a létrehozott adatbázisra, mutasson Feladatokpontra, és válassza Adatbázis-titkosítás kezeléselehetőséget.
Az alábbi lehetőségek érhetők el az Adatbázis-titkosítás kezelése párbeszédpanelen.
titkosítási algoritmus
Megjeleníti vagy beállítja az adatbázis-titkosításhoz használni kívánt algoritmust. AES128 az alapértelmezett algoritmus. Ez a mező nem lehet üres. További információ a titkosítási algoritmusokról: Titkosítási algoritmus kiválasztása.
Kiszolgálótanúsítvány használata
A tanúsítvány által védett titkosítást állítja be. Válasszon egyet a listából. Ha nem rendelkezik a kiszolgálótanúsítványok
VIEW DEFINITIONengedélyével, ez a lista üres. Ha egy tanúsítványtitkosítási módszer van kiválasztva, ez az érték nem lehet üres. További információ a tanúsítványokról: SQL Server-tanúsítványok és aszimmetrikus kulcsok.Kiszolgáló aszimmetrikus kulcsának használata
Beállítja, hogy a titkosítást aszimmetrikus kulccsal lehessen védeni. Csak az elérhető aszimmetrikus kulcsok jelennek meg. Csak egy EKM-modul által védett aszimmetrikus kulcs képes TDE használatával titkosítani egy adatbázist.
Adatbázis-titkosítás beállítása
Módosítja az adatbázist a TDE bekapcsolásához (bejelölve) vagy kikapcsolásához (nincs bejelölve).
Ha végzett, válassza OKlehetőséget.
Használd a Transact-SQL-t
Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.
A Standard sávon válassza Új lekérdezéslehetőséget.
Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza a Végrehajtáslehetőséget.
-- Create a database master key and a certificate in the master database. USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GO CREATE CERTIFICATE TestSQLServerCert WITH SUBJECT = 'Certificate to protect TDE key'; GO -- Create a backup of the server certificate in the master database. -- The following code stores the backup of the certificate and the private key file in the default data location for this instance of SQL Server -- (C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA). BACKUP CERTIFICATE TestSQLServerCert TO FILE = 'TestSQLServerCert' WITH PRIVATE KEY (FILE = 'SQLPrivateKeyFile', ENCRYPTION BY PASSWORD = '<password>'); GO -- Create a database to be protected by TDE. CREATE DATABASE CustRecords; GO -- Switch to the new database. -- Create a database encryption key, that is protected by the server certificate in the master database. -- Alter the new database to encrypt the database using TDE. USE CustRecords; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE TestSQLServerCert; GO ALTER DATABASE CustRecords SET ENCRYPTION ON; GO
További információ:
- MESTERKULCS LÉTREHOZÁSA (Transact-SQL)
- CREATE CERTIFICATE (Transact-SQL)
- BIZTONSÁGI MENTÉSI TANÚSÍTVÁNY (Transact-SQL)
- ADATBÁZIS LÉTREHOZÁSA
- ADATBÁZIS-TITKOSÍTÁSI KULCS LÉTREHOZÁSA (Transact-SQL)
- ADATBÁZIS MÓDOSÍTÁSA (Transact-SQL)
Transzparens adattitkosítással védett adatbázis áthelyezése
Az alábbi eljárások bemutatják, hogyan helyezhet át egy TDE által védett adatbázist az SQL Server Management Studio és a Transact-SQL használatával.
Az SQL Server Management Studio használata
Válassza le az adatbázist.
Az Object Explorerben kattintson a jobb gombbal a korábban titkosított adatbázisra, mutasson a Feladatok, majd válassza a Leválasztás...lehetőséget.
Az alábbi lehetőségek érhetők el az Adatbázis leválasztása párbeszédpanelen.
Leválasztandó adatbázisok
Felsorolja a leválasztani kívánt adatbázisokat.
adatbázisnév
Megjeleníti a leválasztani kívánt adatbázis nevét.
Kapcsolatok elvetése
Kapcsolat bontása a megadott adatbázissal.
Jegyzet
Aktív kapcsolattal rendelkező adatbázist nem lehet leválasztani.
Frissítési statisztikák
Alapértelmezés szerint a leválasztási művelet megőrzi az adatbázis leválasztásakor az elavult optimalizálási statisztikákat; A meglévő optimalizálási statisztikák frissítéséhez jelölje be ezt a jelölőnégyzetet.
Full-Text katalógusok megőrzése
A leválasztási művelet alapértelmezés szerint megőrzi az adatbázishoz társított teljes szöveges katalógusokat. Az eltávolításukhoz törölje a jelet a Full-Text katalógusok megőrzése jelölőnégyzetből. Ez a beállítás csak akkor jelenik meg, ha adatbázist frissít az SQL Server 2005-ről (9.x).
állapot
A következő állapotok egyikét jeleníti meg: Kész vagy Nem kész.
üzenet
Az Üzenet oszlop az alábbiak szerint jelenítheti meg az adatbázissal kapcsolatos információkat:
Ha egy adatbázis replikációval foglalkozik, a ÁllapotNem áll készen, és az üzenet oszlop replikált adatbázist jeleníti meg.
Ha egy adatbázis egy vagy több aktív kapcsolattal rendelkezik, az ÁllapotNem áll készen, és az Üzenet oszlop <number_of_active_connections>Aktív kapcsolat(ok) jelenik meg – például: 1 Aktív kapcsolat(ok). Azért, hogy leválaszthassa az adatbázist, az aktív kapcsolatokat meg kell szüntetnie a Kapcsolatok megszüntetésekiválasztásával.
Ha további információt szeretne kapni egy üzenetről, jelölje ki a hivatkozásra mutató szöveget a Tevékenységfigyelő megnyitásához.
Válassza OKlehetőséget.
A Windows Intézővel helyezze át vagy másolja át az adatbázisfájlokat a forráskiszolgálóról ugyanarra a helyre a célkiszolgálón.
A Windows Intézővel helyezze át vagy másolja át a kiszolgálótanúsítvány és a titkos kulcsfájl biztonsági másolatát a forráskiszolgálóról a célkiszolgáló ugyanazon helyére.
Hozzon létre egy adatbázis-főkulcsot az SQL Server célpéldányán. További információ: A Transact-SQL használata a cikk későbbi részében.
Hozza létre újra a kiszolgálótanúsítványt az eredeti kiszolgálótanúsítvány biztonsági mentési fájljának használatával. További információ: A Transact-SQL használata a cikk későbbi részében.
Az SQL Server Management Studio Objektumkezelőjében kattintson a jobb gombbal az Adatbázisok mappára, és válassza a Csatolás...lehetőséget.
Az Adatbázis csatolása párbeszédpanelen, a Csatolandó adatbázisokalatt válassza a Hozzáadáslehetőséget.
A Adatbázisfájlok keresése –server_name párbeszédpanelen jelölje ki az új kiszolgálóhoz csatolni kívánt adatbázisfájlt, majd válassza az OKlehetőséget.
Az alábbi lehetőségek érhetők el az Adatbázisok csatolása párbeszédpanelen.
csatolandó adatbázisok
A kijelölt adatbázisokkal kapcsolatos információkat jeleníti meg.
<nincs oszlopfejléc>
A csatolási művelet állapotát jelző ikont jelenít meg. A lehetséges ikonokat az Állapot leírásában ismertetjük.
MDF-fájl helye
Megjeleníti a kijelölt MDF-fájl elérési útját és fájlnevét.
adatbázisnév
Megjeleníti az adatbázis nevét.
Csatolás mint
Opcionálisan egy másik nevet ad meg a csatolandó adatbázisnak.
Tulajdonos
Legördülő listát biztosít a lehetséges adatbázis-tulajdonosokról, amelyek közül választható ki egy másik tulajdonos.
állapot
Az adatbázis állapotát az alábbi táblázat szerint jeleníti meg.
Ikon Állapotszöveg Leírás (Nincs ikon) (Nincs szöveg) A csatolási művelet nem indult el, vagy függőben lehet ehhez az objektumhoz. A párbeszédpanel megnyitásakor ez az alapértelmezett beállítás. Zöld, jobbra mutató háromszög Folyamatban A csatolási művelet elindult, de még nem fejeződött be. Zöld pipa Siker Az objektum csatolása sikeresen megtörtént. Fehér keresztet tartalmazó piros kör Hiba A csatolási művelet hibát észlelt, és nem fejeződött be sikeresen. Két fekete kvadránst (bal és jobb oldalon) és két fehér kvadránst (felül és alul) tartalmazó kör Megállt A csatolási művelet nem fejeződött be sikeresen, mert a felhasználó leállította a műveletet. Kör, amely tartalmaz egy ívelt nyilat, amely az óramutató járásával ellentétesen mutat. Visszaállítva A csatolási művelet sikeres volt, de egy másik objektum csatolása során fellépő hiba miatt visszagördült. üzenet
Üres üzenetet vagy "Fájl nem található" hivatkozást jelenít meg.
Hozzáadás:
Keresse meg a szükséges fő adatbázisfájlokat. Amikor a felhasználó kiválaszt egy .mdf fájlt, a rendszer automatikusan kitölti a vonatkozó adatokat a -adatbázisok megfelelő mezőiben, hogy csatolja rácsot.
eltávolítása
Eltávolítja a kijelölt fájlt a -adatbázisokból rács csatolásához.
"<database_name>" adatbázis részletei
Megjeleníti a csatolandó fájlok nevét. Egy fájl elérési útnevének ellenőrzéséhez vagy módosításához válassza a Tallózás gombot (...).
Jegyzet
Ha egy fájl nem létezik, az Üzenet oszlopban a "Nem található" szöveg jelenik meg. Ha nem található naplófájl, az egy másik könyvtárban található vagy törölve lett. Frissítenie kell a fájl elérési útját a adatbázis részletek rácsán, hogy a megfelelő helyre mutasson, vagy el kell távolítania a naplófájlt a rácsról. Ha nem található .ndf adatfájl, frissítenie kell a rács elérési útját, hogy a megfelelő helyre mutasson.
eredeti fájlnév
Megjeleníti az adatbázishoz tartozó csatolt fájl nevét.
fájltípus
A fájl típusát, Adatvagy Napló.
aktuális fájl elérési útja
Megjeleníti a kijelölt adatbázisfájl elérési útját. Az elérési út manuálisan szerkeszthető.
üzenet
Üres üzenetet vagy "fájl nem található" hivatkozást jelenít meg.
Használd a Transact-SQL-t
Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.
A Standard sávon válassza Új lekérdezéslehetőséget.
Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza a Végrehajtáslehetőséget.
-- Detach the TDE protected database from the source server. USE master; GO EXECUTE master.dbo.sp_detach_db @dbname = N'CustRecords'; GO -- Move or copy the database files from the source server to the same location on the destination server. -- Move or copy the backup of the server certificate and the private key file from the source server to the same location on the destination server. -- Create a database master key on the destination instance of SQL Server. USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GO -- Recreate the server certificate by using the original server certificate backup file. -- The password must be the same as the password that was used when the backup was created. CREATE CERTIFICATE TestSQLServerCert FROM FILE = 'TestSQLServerCert' WITH PRIVATE KEY (FILE = 'SQLPrivateKeyFile', DECRYPTION BY PASSWORD = '<password>'); GO -- Attach the database that is being moved. -- The path of the database files must be the location where you have stored the database files. CREATE DATABASE [CustRecords] ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\CustRecords.mdf'), (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\CustRecords_log.LDF') FOR ATTACH; GO
További információ: