Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Szyfrowanie tabel bazy danych w SQL Server 2008

Masz tutaj różne opcje.

  • Możesz użyć szyfrowania symetrycznego dla swoich danych:

    CREATE TABLE sprzedaż (...)

Utwórz klucz symetryczny:

CREATE CERTIFICATE cert_sales WITH SUBJECT = N'Sales certificate',
START_DATE = N'2009-01-01', EXPIRY_DATE = N'2018-12-31';

CREATE SYMMETRIC KEY symkey_sales WITH ALGORITHM = AES_256 
ENCRYPTION BY CERTIFICATE cert_sales

Szyfruj dane:

TRUNCATE TABLE sales;
OPEN SYMMETRIC KEY symkey_sales DECRYPTION BY CERTIFICATE cert_sales;
INSERT INTO sales() SELECT a, ENCRYPTBYKEY(Key_Guid(N'symkey_sales'), B) FROM T2;
CLOSE SYMMETRIC KEY symkey_sales;

Odszyfruj dane:

OPEN SYMMETRIC KEY symkey_sales DECRYPTION BY CERTIFICATE cert_sales;
SELECT a, CAST(DecryptByKey(B) as nvarchar(100)) FROM sales;
CLOSE SYMMETRIC KEY symkey_sales;
  • Możesz użyć szyfrowania asymetrycznego dla swoich danych
  • Możesz użyć Przezroczystego szyfrowania danych do szyfrowania wszystkich plików baz danych:

Utwórz klucz główny:

USE master
go
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'My$Strong$Password$123'

Utwórz certyfikat:

CREATE CERTIFICATE DEK_EncCert WITH SUBJECT = 'DEK Encryption Certificate'

Utwórz DEK:

USE MySecretDB
go
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE DEK_EncCert

Włącz szyfrowanie:

ALTER DATABASE MySecretDB SET ENCRYPTION ON
  • Możesz użyć funkcji BitLocker — pełne szyfrowanie woluminu


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ISDATE() Przykłady w SQL Server

  2. Instancja SQL Server 2008

  3. Jak zmienić domyślny profil poczty bazy danych dla użytkownika w programie SQL Server (T-SQL)

  4. Określony schemat jest nieprawidłowy. Błędy:wiele typów z nazwą

  5. SQL Wielokrotne liczenie w tym samym wierszu z dynamiczną kolumną