Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utiliser le certificat SQL d'une autre base de données

Vous pouvez envelopper l'appel EncryptByCert dans une fonction qui vit dans la base de données A comme ceci :

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

Pour insérer des données dans votre table dans la base de données A tout en étant connecté à la base de données B, utilisez quelque chose comme ceci :

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