Salesforce と SQL Server のデータ連携

CData DBAmp を使えば、SQL Server チームは標準の T-SQL と既存のツールを使って、Salesforce をリアルタイムでクエリしたり、ローカルにミラーリングしたり、変更を書き戻したりできます。ミドルウェアも新しいインフラも不要です。

Salesforce
CData DBAmp
SQL Server Microsoft SQL Server
バックアップ
ローカルレポート
データ連携

主な機能

使い慣れたツールとプロダクションレベルの信頼性で、Salesforce と Microsoft SQL Server を完全にコントロールして接続できます。

リアルタイム SQL アクセス

Linked Server で標準の T-SQL を使って、Salesforce オブジェクトをオンデマンドでクエリできます。API 連携のコードを書くことなく、SELECTJOINWHEREORDER BY ステートメントで運用クエリやレポートを実行できます。

高精度なレプリケーション

SF_MirrorSF_Replicate ストアドプロシージャを使って、Salesforce オブジェクトを SQL Server テーブルにミラーリングします。一貫性のある信頼できるコピーで、分析、ガバナンス付きバックアップ、下流システムとの連携をサポートします。

双方向の更新

SQL Server から Salesforce への INSERT、UPDATE、UPSERT が可能です。標準の INSERTUPDATEUPSERT パターンで、リバース ETL や運用ワークフローを実現します。

SQL Server ツールとの連携

SSIS、SSRS、SQL Agent ジョブ、既存の監視ツールを使って Salesforce データを運用できます。すべてがデータベース管理者(DBA)が既に管理している SQL Server 環境内で動作します。

Bulk/API 対応の高パフォーマンス

ワークロードに応じて適切な Salesforce API(Bulk、REST、Tooling)を自動選択します。バッチ処理と増分戦略により、大量データを効率的に処理します。

セキュリティを重視した設計

Salesforce の権限とプロファイルを尊重し、認証情報を安全に保存し、SQL Server のガバナンスで監査の可視性を維持します。DBAmp は最小権限環境向けに設計されています。

DBAmp のしくみ

SQL Server に DBAmp を一度インストールし、Salesforce への Linked Server を設定するだけで、使い慣れた T-SQL とストアドプロシージャでクエリ、レプリケーション、同期が可能になります。

01

DBAmp コンポーネントをインストール
インストーラーを実行して、DBAmp ストアドプロシージャの追加と前提条件の設定を行います。

02

Salesforce への Linked Server を作成
接続、認証情報、プロバイダ設定を定義します。シンプルな SELECT ステートメントでセットアップを確認できます。

03

ライブクエリまたはローカルミラーリング
Linked Server でオンデマンドクエリを実行するか、SF_Mirror / SF_Replicate プロシージャでローカルテーブルを作成・更新します。

04

SQL Agent と SSIS で自動化
増分ジョブのスケジュール、パイプラインのオーケストレーション、標準的な SQL Server の手法での監視が可能です。

サンプル:

Linked Server 経由のライブクエリ

-- データをコピーせずに Salesforce の Account をクエリ
SELECT  a.Name, a.AccountNumber, a.Industry, a.BillingCountry
FROM  SALESFORCE.CData.Salesforce.Account a
WHERE  a.Industry IN ('Manufacturing','Technology')
ORDER BY a.Name; 
サンプル:

ミラーリングと増分更新

-- 選択したオブジェクトのローカルテーブルを作成・更新
EXEC SF_Mirror 'SALESFORCE', 'ACCOUNT'
									

DBAmp を選ぶ理由

DBAmp は、Salesforce データを他の SQL ワークロードと同じように扱いたい DBA や SQL Server チーム向けに設計されています。使い慣れたワークフロー、予測可能なパフォーマンス、そして完全な運用コントロールを提供します。

ネイティブ SQL 体験

Linked Server、T-SQL、SSIS、既存の監視ツールを使って Salesforce を操作できます。

大規模環境でも安定動作

大規模組織や大量のオブジェクトを、予測可能なパフォーマンスで処理します。

スムーズなガバナンス

既存の SQL Server ガバナンス、監査、バックアップの手法を Salesforce データに適用できます。

比較表

アプローチ
メリット
トレードオフ
カスタムコードで Salesforce API を直接利用
最大限の柔軟性
開発・保守コストが高い。SQL 機能を再実装する必要あり
汎用 ETL/ELT ツール
多様なコネクタ、ビジュアルパイプライン
追加インフラが必要。学習コストあり。DBA 中心の SQL ワークフローが不足する場合も
DBAmp(SQL ネイティブ)
T-SQL と Linked Server を使用。シンプルなレプリケーション。書き戻しに対応
SQL Server に特化(設計上の特徴)

一般的なユースケース

DBAmp を使えば、DBA、データエンジニア、アプリケーションチームは、既存のツールとガバナンスを活用して、SQL ネイティブな方法で Salesforce データを運用できます。

運用レポート

Salesforce と社内 SQL テーブルを結合して、統合ダッシュボードやレポートを作成します。

  • リアルタイム Linked Server クエリ
  • SSRS、Power BI、T-SQL を使用

レプリケーションと分析

分析や履歴保持のために、オブジェクトをローカルテーブルにミラーリングします。

  • SF_Mirror で増分更新
  • SQL Agent でオーケストレーション

バックアップ/アーカイブ

ガバナンス対応の SQL コピーでコンプライアンスと DR を実現します。

  • オブジェクトの全体/部分選択
  • 標準的な DBA 保持ポリシー

リバース ETL(SQL → Salesforce)

マスタリングされた SQL データを Salesforce に公開します。

  • INSERT / UPDATE / UPSERT
  • 外部 ID による Upsert

データ品質と MDM

SQL Server の DQ ルールを使用し、クリーンな結果を伝播します。

  • SQL DQ ツール
  • 制御された伝播

移行と統合

Salesforce 組織の統合やモダナイゼーションをサポートします。

  • 選択的オブジェクトレプリケーション
  • 再現可能でスクリプト化されたジョブ

アーキテクチャと互換性

DBAmp は SQL Server が稼働する場所で動作し、Salesforce API と通信します。

概要:
項目
DB プラットフォーム
Microsoft SQL Server
アクセスモード
ライブ Linked Server クエリ、ローカルミラー/レプリケーション
APIs
Salesforce Bulk, REST, Tooling
書き戻し
INSERT / UPDATE / UPSERT(外部 ID 対応)
ツール
SSIS, SSRS, T-SQL, SQL Agent
セキュリティ
Salesforce 権限を尊重、標準 SQL Server コントロール

デプロイパターン

SQL Server が DBAmp コンポーネントをホストし、Salesforce に直接接続します。

以下のいずれかを選択できます:

  • ライブアクセス:Linked Server 経由で Salesforce をオンデマンドでクエリ
  • ローカルミラー:オブジェクトをコピーして増分更新

下流のツールは通常どおり SQL Server を使用します。SQL Agent で更新をオーケストレーションします。

高度な設定

API、バッチ処理、チャンキング、ランタイム動作、書き戻しパターンを詳細に制御したい DBA やデータエンジニア向けに、DBAmp は予測可能なパフォーマンスとスケールを実現する成熟した SQL ネイティブオプションを提供しています。

実行モデル

  • Linked Server アドレッシング:[LinkedServer].[CData].[Salesforce].[Object] のような4部構成の名前を使用します。例:SALESFORCE.CData.Salesforce.Account
  • API の選択(読み取りパス):SF_MirrorSF_ReplicateSOAPBulk を自動選択し、必要に応じて PK チャンキングを行います。手動で SOAP または Bulk(soap、bulkapi)を強制することも可能です。
  • 設定項目:プロバイダプロパティで API バージョン、Bulk ポーリング間隔、タイムアウトを調整できます。

スループット制御

  • PK チャンキング:SF_Replicatepkchunk を使用して Bulk API ジョブを送信できます。オプションで batchsize(N) も指定可能です。
  • グローバルテーブルオプション:DBAmpTableOptions を使用して、オブジェクトまたはパターンごとに pkchunkbulkapibatchsize を適用できます。
  • API コールの効率化:読み取りはバッチで実行されます。SF_TableLoader は行単位の DML ではなくバッチ書き込みをサポートします。

書き戻しパターン(安全かつ高速)

ステージングされた入力テーブル + Bulk プロシージャの使用を推奨します。

-- 1) SF_TableLoader 用の入力テーブルを作成
--    入力テーブルは有効なオブジェクト名で開始(例:Account_Load)
			
CREATE TABLE dbo.Account_Load (
  Id            varchar(18) NULL,
  ExternalId__c varchar(128) NULL,
  Name          nvarchar(255) NOT NULL,
  BillingCity   nvarchar(100) NULL
-- ...マッピングされたフィールドのみ 
);

-- 2) SF_TableLoader で Upsert(行数に基づいて API を自動選択)
EXEC dbo.SF_TableLoader 'Upsert','SALESFORCE','dbo.Account_Load','ExternalId__c';

SF_TableLoader は、行数が少ない場合は SOAP、多い場合は Bulk API を自動選択します。

ミラーリング、変更データ、履歴

  • 増分更新:SF_Mirror はメタデータを再利用します。可能な場合は増分、スキーマ変更時はフル更新を行います。
  • テンポラルテーブル:履歴用に有効化できます。派生フィールドによってはフル更新が必要な場合があります。
  • システムビュー:SF_CreateSysViews がパイプライン用のメタデータビューを構築します。

運用化

ステージングされた入力テーブル + Bulk プロシージャの使用を推奨します。

-- オブジェクトごとにミラージョブをスケジュール(SQL Agent)
EXEC dbo.SF_Mirror 'SALESFORCE','Account';
-- オブジェクトごとに繰り返し、各呼び出しで必要なオプションを使用するか、
-- DBAmpTableOptions で処理します
-- または、すべてのテーブルを取得する場合は SF_MirrorAll を使用

EXEC dbo.SF_MirrorAll 'SALESFORCE' 
-- xp_cmdshell なしでミラーリングを実行(Agent CmdExec)
-- 'MirrorCopy' と単一のターゲットオブジェクトで DBAmpAZ.exe を使用
-- 引数の例:
--	"C:\Program Files\CData\CData DBAmp\bin\DBAmpAZ.exe"
-- MirrorCopy Account "MSSQL01" "SalesforceBackups" SALESFORCE pkchunk,batchsize(50000)
-- 完全なパラメータリストはドキュメントを参照

Agent 対応:T-SQL でミラーリングするか、DBAmpAZ.exe を使用します(xp_cmdshell 不要)。

クエリのヒント

ステージングされた入力テーブル + Bulk プロシージャの使用を推奨します。

  • OPENQUERY vs 4部構成:シンプルさを重視する場合は4部構成を使用。複雑なリモートプッシュダウンには OPENQUERY を使用します。
  • JOIN:ローカル + リモートを混在させる場合、まず最小限のリモートサブセットを取得します。


クイックリファレンス

設定
機能
使用するタイミング
pkchunk
大きなオブジェクトを Bulk API 用の PK 範囲に分割
非常に大きなテーブル
batchsize(N)
いずれかの API のバッチサイズを制御
ネットワーク/行幅または Apex 制限に合わせて調整
bulkapi
Bulk API を強制(PK チャンクなし)
チャンキングが不要な大きなテーブル
Temporal Mirror
行履歴を維持
監査と SCD パターン

リソース


製品ドキュメント

インストール、Linked Server の設定、ストアドプロシージャ、レプリケーション オプション、トラブルシューティングについて説明しています。

クイックスタートガイド

DBAmp のインストール、Salesforce への接続、最初の Linked Server クエリの実行、主要オブジェクトのミラーリング手順を説明しています。

トライアルをダウンロード

お使いの環境と Salesforce 組織で DBAmp をお試しください。

今すぐ DBAmp を始めましょう

インストール、接続、そして最初のクエリを数分で実行できます。