Sql-Server

如何在不使用始終加密的情況下加密表的一列?

  • May 5, 2018

受sqlsoldier啟發,我一直在研究在 2 個伺服器之間或 AlwaysOn 節點之間同步登錄(使用 T-SQL)的解決方案

它需要一個連結的伺服器。

執行時,此過程會輸出以下一組腳本,這些腳本需要在目前伺服器中應用以同步登錄(範例):

Create Login [MY_COMPANY_UK\DW_and_Extracts] From Windows; 
Create Login [MY_COMPANY_UK\AuPairDWETL_TS] From Windows; 
Exec  sp_addsrvrolemember @rolename = 'sysadmin', @loginame = 'NT SERVICE\MSSQLSERVER'; 
GRANT VIEW ANY DEFINITION  To  [MY_COMPANY_UK\RGDLMonitoring]; 
GRANT CONNECT SQL  To  [MY_COMPANY_UK\DW_and_Extracts]; 
GRANT CONNECT SQL  To  [MY_COMPANY_UK\AuPairDWETL_TS]; 
GRANT CONNECT On ENDPOINT::[SSBEndpoint] To [MY_COMPANY_USA\sqlservice];

我想在將所有這些命令應用到我目前的伺服器之前將它們記錄到一個表中,但我知道這些是敏感資訊,我希望能夠對其進行加密並能夠解密。

我能做到這一點嗎?

我已經看到了:

是否可以使用始終加密功能加密 varbinary(max) 列?

我怎樣才能以最小的努力實現這一目標,並且不影響我係統上的其他任何東西?

我目前不使用總是加密的

自 SQL 2005 以來,SQL Server 使用伺服器管理的密鑰進行列加密。請參閱加密數據列

AlwaysEncrypted 使用客戶端密鑰。

引用自:https://dba.stackexchange.com/questions/205919