Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzare il certificato SQL da un altro database

Puoi racchiudere la chiamata EncryptByCert in una funzione che risiede nel database A in questo modo:

CREATE FUNCTION dbo.MyEncrypt(@Data VARCHAR(4000))
RETURNS TABLE
AS
RETURN
SELECT ENCRYPTBYCERT(CERT_ID('MyCert'),@Data) EncryptedData;

Per inserire i dati nella tua tabella nel database A mentre sei connesso al database B usa qualcosa del genere:

INSERT INTO DatabaseA.dbo.MyTable(id,EncryptedData)
VALUES(42, (SELECT EncryptedData FROM DatabaseA.dbo.MyEncrypt('testvalue')) );