次のように、データベース A に存在する関数で EncryptByCert 呼び出しをラップできます。
CREATE FUNCTION dbo.MyEncrypt(@Data VARCHAR(4000)) RETURNS TABLE AS RETURN SELECT ENCRYPTBYCERT(CERT_ID('MyCert'),@Data) EncryptedData;
プレ>データベース B に接続しているときにデータベース A のテーブルにデータを挿入するには、次のようにします:
INSERT INTO DatabaseA.dbo.MyTable(id,EncryptedData) VALUES(42, (SELECT EncryptedData FROM DatabaseA.dbo.MyEncrypt('testvalue')) );
プレ>