sql >> Base de Datos >  >> RDS >> Sqlserver

Usar certificado SQL de otra base de datos

Podría envolver la llamada EncryptByCert en una función que vive en la base de datos A como esta:

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

Para insertar datos en su tabla en la base de datos A mientras está conectado a la base de datos B, use algo como esto:

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