Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden Sie das SQL-Zertifikat aus einer anderen Datenbank

Sie könnten den EncryptByCert-Aufruf wie folgt in eine Funktion einschließen, die sich in Datenbank A befindet:

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

Um Daten in Ihre Tabelle in Datenbank A einzufügen, während Sie mit Datenbank B verbunden sind, verwenden Sie Folgendes:

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