Как защитить мою базу данных SQL Server 2008, чтобы никто не мог скопировать, кроме меня? - PullRequest
0 голосов
/ 28 сентября 2019

У меня проблема с шифрованием базы данных SQL Server ...

У меня есть ٍ Сервер A и Сервер B. База данных находится на сервере A, и я хочу переместить базу данных с сервера A и подключиться на сервере B.

Я хочу защитить свою базу данных, чтобы никто не мог копировать, кроме меня.Я говорю о файле .mdf.

Я пытался зашифровать TDE-шифрование следующим образом:

use master 
Go 

create master key 
ENCRYPTION BY PASSWORD ='password1';
go

USE master
GO

CREATE CERTIFICATE MasterCert
WITH SUBJECT = 'Cert used for TDE';
GO

use master 
go
Backup certificate MasterCert
to file ='D:\Backup\MasterCert.cer'
with Private key (file='D:\Backup\MasterCert.pvk',
encryption by password ='password1')
go

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

Когда я присоединяю базу данных на сервере B, я получаю эту ошибку:

Не удается найти сертификат сервера с отпечатком пальца '0x1EE7FBA0D5DEFE740BAADEE7A0635942F382FEBB'.(Microsoft SQL Server, ошибка: 33111)

Мне известна эта ошибка, поскольку не найден сертификат, используемый на сервере A при использовании шифрования TDE, и я попытался добавить этот же сертификат на сервер B, используяэтот код:

use master 
Go 
create master key 
ENCRYPTION BY PASSWORD ='password1';
go

create CERTIFICATE MasterCert
from file ='D:\Backup\MasterCert.cer'
with Private key (file='D:\Backup\MasterCert.pvk',
encryption by password ='password1')
go

но я получаю сообщение об ошибке:

Сертификат, асимметричный ключ или файл закрытого ключа не существует или имеет недопустимый формат.

Какое решение?

Если кто-нибудь знает другой способ защитить мою базу данных - скажите, пожалуйста!

...