Salesforceのsandboxの作り方と使い分け。本番を壊さずに試す

公開 更新 書いた人 大林 諒

入力規則やフローを本番に足す前に、本番と切り離した試し場の sandbox を作り、そこで確かめてから本番へ移す流れを組みます。題材は社員30名ほどの法人向けサービス会社で実際に回っている形で、商談の「失注理由」を必須にする入力規則と、受注した商談から「導入プロジェクト」を作るフローを sandbox で作り、変更セットで本番へ出すところまで通します。読み終わると、sandbox を作ってログインし、作ったものを本番に移し、古くなった sandbox を更新するまでを自分で回せます。sandbox の作成・更新には「Sandbox の管理」権限(Developer 系だけなら「Dev Sandbox の管理」でも可)が、本番での変更セットのリリースには「変更セットのリリース」と「メタデータ API 関数を使用したメタデータの変更」の権限が要ります。sandbox を使えるのは Professional・Enterprise・Performance・Unlimited Edition で、公式ヘルプの使用可能なエディションに Starter と Pro Suite はありません。画面は Lightning Experience で説明し、Classic の画面の説明は読み飛ばしてかまいません。

この記事の内容
  1. sandbox とは何か
  2. 先に決めること
  3. 設計表
  4. 作る手順
  5. sandbox を更新する
  6. 応用
  7. できないことと、その代わり
  8. よく詰まるところ
  9. 次にやること

sandbox とは何か

本番の設定を別の組織に写したもの

sandbox は、本番組織の設定をそっくり写した別の組織です。本番からは完全に隔離されていて、sandbox で項目を消しても、フローが想定外の動きをしても、本番には影響しません。

写されるものは2つに分けて考えます。オブジェクト・項目・ページレイアウト・入力規則・フロー・権限セットのような「設定」をメタデータと呼び、取引先や商談の1件1件をデータと呼びます。メタデータはどの sandbox にも写り、データをどこまで写すかは種類で決まります。

写した後の sandbox と本番は別々の組織として動きます。本番で足した項目は sandbox に入らず、sandbox で作ったものも自動では本番に入りません。sandbox から本番へ移す道具が変更セットです。

本番で直接触ってはいけない変更

営業チームの組織で、本番で直接触って事故になるのは次のような変更です。

  • レコードトリガーのフローを作る、条件を変える。条件を1つ間違えると営業全員の保存が止まる、関係ないレコードがまとめて書き換わる
  • 入力規則を足す。既存のレコードが条件に当たり、別の項目を直そうとしても保存できなくなる
  • 項目のデータ型を変える、項目を消す。レポートや数式、フローが壊れる
  • 共有設定を変える。昨日まで見えていた商談が見えなくなる
  • データローダで一括更新・一括削除をする

どれも保存した瞬間に全員に効き、戻すのに手間がかかります。

本番で直接やってよい変更

レポート・ダッシュボード・リストビューの作成、選択リストへの値の追加、ページレイアウトでの並べ替え、ユーザーの追加、メールテンプレートの文面の手直しは、sandbox を通すと手間ばかり増えます。判断の目安は「他の人の保存や画面を止める可能性があるか」と「間違えたときに戻すのが面倒か」で、どちらかに当たれば sandbox を通します。

先に決めること

どの種類を使うか

sandbox は4種類あります。

種類更新間隔データストレージファイルストレージ写される内容Sandbox テンプレート
Developer1日200 MB(アップグレードで 400 MB)200 MBメタデータのみ利用不可
Developer Pro1日1 GB(アップグレードで 2 GB)1 GBメタデータのみ利用不可
Partial Copy5日5 GB本番組織と同じメタデータとサンプルデータ必須
Full29日本番組織と同じ本番組織と同じメタデータとすべてのデータ利用可

更新間隔は、作成か更新を要求してから次に更新できるまでの日数です。Developer は毎日作り直せますが、Full は一度更新すると29日間は更新も削除もできません。

Developer は設定を作って試す場所で、データは入っていません。Developer Pro はより大きなデータを入れられ、インテグレーションテストやユーザートレーニング向きです。Partial Copy は Sandbox テンプレートで指定したオブジェクトのデータを一部だけ写すもので、営業マネージャーの確認やデータ移行の練習に向きます。Full は本番のデータと添付ファイルまで含めた複製で、負荷テストやリリース直前の最終確認に使い、更新間隔が長いので作業場所には向きません。

sandbox はディスクの上限に達してもメールで知らせてくれず、新しいデータを保存できなくなります。残りは sandbox の「設定」で「組織のディスク使用量」を開いて確かめます。

エディションごとに使える数

最初から付いてくる数です。「記載なし」は公式の表に数が載っていない箇所です。

種類ProfessionalEnterpriseUnlimitedPerformance
Developer1025100100
Developer Pro記載なし記載なし55
Partial Copy使用不可111
Full使用不可記載なし11

Developer Pro はどのエディションでも追加で買え、Partial Copy と Full は Enterprise・Unlimited・Performance で買えます。Developer は単体では買えず、Developer Pro のアドオンに5個、Partial Copy に10個、Full に15個が付いてきます。

Professional Edition はデータの入った sandbox を作れないので、確認用のデータは自分で入れます。Starter と Pro Suite で sandbox を前提に運用したいなら、契約の段階で Professional 以上を選びます。選び方は「Salesforceの料金とライセンス。エディションと人数の決め方」にまとめています。

ライセンスの数を超えて sandbox を持つと、最も長く使われていないものから順にロックされ、ロックから60日を過ぎると削除されて戻せません。

名前と、入れる人

名前は10文字以下で、sandbox 側のユーザー名の末尾に付きます。ログインのたびに打つので「dev」「uat」のような短い英字にします。

入れる人は作成時に公開グループで指定します。Developer と Developer Pro では指定が必須で、Partial Copy と Full では「すべての有効ユーザー」も選べますが作成が遅くなります。作成者と公開グループのメンバーは入れてメールアドレスも本番のまま写り、それ以外のユーザーは凍結されてメールアドレスの末尾に .invalid が付きます。グループが空なら入れるのは作成者だけで、メンバーは150人未満が勧められています。

メールが外に飛ばないか

新しい sandbox と更新した sandbox は、メールの送信設定が「システムメールのみ」で、パスワードのリセットのようなシステムが自動で送るメールしか送りません。気をつけるのは取引先責任者のメールアドレスで、sandbox はユーザーのアドレスは変えても、取引先責任者のアドレスは変えません。Partial Copy や Full には顧客の本物のアドレスが入っているので、送信設定を「すべてのメール」に変える前に、取引先責任者のアドレスを社内の試験用に書き換えます。

設計表

例の会社で持つ sandbox です。Enterprise Edition の場合で書いています。

名前種類用途入れる人更新するタイミングProfessional の場合
devDeveloper入力規則・フロー・項目を作って試す公開グループ「Sandbox利用者」新しい作業を始める前同じ
uatPartial Copy営業マネージャーの確認、データ移行の練習公開グループ「Sandbox利用者」本番へのリリースが済んだ後Developer で作り、データはデータローダで入れる

uat の Sandbox テンプレートには、取引先・取引先責任者・商談・導入プロジェクトを入れます。

今回の変更セットに入れるものです。種類は送信変更セットで選ぶコンポーネントの種類の名前です。

入れるものコンポーネントの種類注意
商談の入力規則「失注理由必須」入力規則標準オブジェクトの入力規則も個別に入れられる
フロー「受注時に導入プロジェクトを作成」フロー定義本番には無効の状態で入る
導入プロジェクトに足した項目「キックオフ日」カスタム項目項目だけを入れる
導入プロジェクトのページレイアウトページレイアウトキックオフ日を画面に出す
権限セット「導入プロジェクト 利用」権限セットキックオフ日の項目権限を運ぶ

入力規則の数式は、フェーズが不成立(値の API 参照名は「Closed Lost」)で失注理由が空なら保存を止めるものです。

AND(
  ISPICKVAL(StageName, "Closed Lost"),
  ISBLANK(TEXT(Lost_Reason__c))
)

入力規則とフローの作り方そのものは、それぞれの記事で説明しています。ここでは sandbox で作って本番に移す部分を扱います。

作る手順

1. 本番で公開グループを作る

  1. 本番で、画面右上の歯車アイコンから「設定」を開きます。
  2. 「クイック検索」に「公開グループ」と入力し、「公開グループ」を選びます。
  3. 「新規」をクリックします。
  4. 「表示ラベル」に「Sandbox利用者」、グループ名に「Sandbox_Users」と入力します。
  5. 「検索」で「ユーザー」を選び、システム管理者と営業マネージャーを「追加」します。
  6. 保存します。

作成には「ユーザーの管理」権限が要ります。

2. Developer sandbox を作る

  1. 本番の「設定」の「クイック検索」に「Sandbox」と入力し、「Sandbox」を選びます。
  2. 「新規 Sandbox」をクリックします。
  3. 名前に「dev」、説明に「入力規則・フローの作成用」と入力します。
  4. 種類で「Developer」を選びます。
  5. 「Sandbox アクセス」で公開グループ「Sandbox利用者」を選びます。
  6. 「作成」をクリックします。

途中のストレージのアップグレードと Apex クラスの欄は、使わなければそのままにします。「新規 Sandbox」が押せないときは、権限が無いか、ライセンスが残っていません。

作成後、一覧の状況は「未承認」(コピーの順番待ち)から「処理中」に進み、「完了」になると作成者にメールが届きます。かかる時間は数分から数日まで幅があり、サポートに頼んでも早められません。使う日の前日までに作り、コピーの間は本番の設定変更を控えます。「サスペンド」が1時間以上続いたらサポートに問い合わせます。

3. Partial Copy sandbox を作る(Enterprise 以上)

  1. 「Sandbox」の画面で「Sandbox テンプレート」タブを開きます。
  2. 「新規 Sandbox テンプレート」をクリックします。
  3. 名前に「営業確認用」と入力します。
  4. 「利用可能なオブジェクト」で、取引先責任者・商談・導入プロジェクトにチェックを入れます。
  5. 「オブジェクトの詳細」に、主の取引先が自動で加わっていることを確かめます。
  6. 「保存」をクリックします。
  7. 「Sandbox」タブで「新規 Sandbox」をクリックし、名前に「uat」と入力します。
  8. 種類で「Partial Copy」を選び、「次へ」をクリックします。
  9. テンプレート「営業確認用」を選びます。
  10. 「Sandbox アクセス」で公開グループを選び、「作成」をクリックします。

本番のリレーションを変えるとテンプレートの中身も自動で変わることがあるので、更新の前に一度開いて確かめます。Full の場合は、「含まれるオブジェクトデータ」で「すべて」か「テンプレートベース」を選び、項目追跡履歴と Chatter のデータを写すかも選びます。Chatter は大きくなりやすくコピー時間が延びるので、要るときだけ含めます。

4. sandbox にログインする

システム管理者は、本番の「Sandbox」の一覧で dev の横の「ログイン」から入れます。営業マネージャーには直接ログインする方法を案内します。

  1. ブラウザで https://test.salesforce.com を開きます。
  2. 最初はメールアドレスで入る画面が出るので、「ユーザー名でログイン」をクリックします。
  3. ユーザー名に、本番のユーザー名の末尾に「.dev」を付けて入力します。本番が tanaka@example.co.jp なら tanaka@example.co.jp.dev です。
  4. パスワードは、sandbox を作った時点の本番のパスワードを入力します。
  5. 「Sandbox にログイン」をクリックします。
test.salesforce.com のログイン画面に、末尾に .dev を付けたユーザー名を入れた状態
test.salesforce.com のログイン画面に、末尾に .dev を付けたユーザー名を入れた状態

ユーザー名が他と重なる場合は、先頭に7桁の英数字が付きます。本番で「私のドメイン」により login.salesforce.com からのログインを禁止している組織では、test.salesforce.com からも入れないので、https://MyDomainName--dev.sandbox.my.salesforce.com の形のログイン URL を使います。

期限が2つあります。Developer と Developer Pro では、sandbox 側にユーザーが作られてから60日以内に一度もログインしなかったユーザーが凍結されます。また、180日間誰もアクセスしなかった sandbox は削除の対象になります。

5. sandbox で作って確かめる

dev で入力規則・フロー・項目を作ります。Developer にはデータが無いので、取引先と商談を数件作ってから試します。入力規則は次の3つが通れば本番に出します。

  • フェーズを「不成立」にして失注理由が空なら、エラーで止まる
  • フェーズを「不成立」にして失注理由を選べば、保存できる
  • フェーズが「不成立」以外なら、失注理由が空でも保存できる

フローは、商談を「Closed Won」にしたとき導入プロジェクトが1件だけでき、受注済みの商談を別の項目だけ直して保存しても2件目ができないことを確かめます。

データ移行の練習は uat でやります。Excel の導入管理表をデータローダで導入プロジェクトに入れ、件数が合うか、エラーの CSV に何が出るか、日付がずれないかを見ます。接続先を本番ではなく sandbox にしてログインする点だけが本番と違います。最後に営業マネージャーに uat で普段どおり商談を失注にしてもらうと、作った人が気づかない止まり方がここで見つかります。

6. 本番でリリース接続を許可する

本番と sandbox の間の接続は自動で一覧に並び、受け取る側が許可を付けます。

  1. 本番の「設定」の「クイック検索」に「リリース」と入力し、「リリース設定」を選びます。
  2. 「続行」をクリックします。
  3. dev の横の「編集」をクリックします。
  4. 「変更着信を許可」にチェックを入れます。
  5. 「保存」をクリックします。

矢印はアップロードが許可されている向きで、破線はどちら向きも未許可です。本番のメンテナンス中は、許可もアップロードもできません。

7. sandbox で送信変更セットを作り、アップロードする

ここからは dev で作業します。

  1. dev の「設定」の「クイック検索」に「送信変更セット」と入力し、「送信変更セット」を選びます。
  2. 「新規」をクリックします。
  3. 名前に「2026-11 失注理由必須と受注時フロー」と入力して保存します。
  4. 「追加」をクリックします。
  5. 「コンポーネントの種類」で「入力規則」を選びます。
  6. 「失注理由必須」にチェックを入れ、「変更セットに追加」をクリックします。
  7. 同じ手順で、設計表のフロー定義・カスタム項目・ページレイアウト・権限セットを追加します。
  8. 「連動関係を参照/追加」をクリックします。
  9. 本番にまだ無いものだけにチェックを入れ、「変更セットに追加」をクリックします。
  10. 「アップロード」をクリックします。
  11. 送信先で本番を選び、「アップロード」をクリックします。

連動関係には、直接・間接に要る部品が並びます。本番にすでにあるものは入れなくてよく、本番に無いものを入れ忘れるとリリースが失敗します。

アップロードした変更セットは編集も取り消しもできません。入れ忘れたら、詳細画面でコピーを作って足し、もう一度アップロードします。コピーには sandbox の最新の状態が入ります。送信変更セットはアップロードから6か月で完全に削除され、1つあたりファイル10,000件・合計400 MBまでです。

Professional Edition では、プロファイルの設定を変更セットに入れられません。権限は本番で手で付ける前提にします。

8. 本番で検証してリリースする

  1. 本番の「設定」の「クイック検索」に「受信変更セット」と入力し、「受信変更セット」を選びます。
  2. 届いた変更セットの名前をクリックし、中身を確かめます。
  3. 「検証」をクリックします。
  4. 終わったら「結果を表示」で、エラーが無いことを確かめます。
  5. 「リリース」をクリックします。
  6. 「クイック検索」で「リリース状況」を開き、完了を確かめます。

検証は、変えずに「リリースしたら成功するか」だけを見る操作です。検証の間は対象の設定がロックされ、関係する設定を触るとエラーになることがあるので、営業が使わない時間にやります。データの読み書きはできます。

変更セットは1つのトランザクションでリリースされ、失敗すれば全部が元に戻り、成功した後に取り消す機能はありません。間違いに気づいたら、本番で手で直すか、直したものを送り直します。Apex を含む場合は本番でテストが動き、コードの75%以上がテストを通っている必要があります。

9. リリースした後に本番で手でやること

やること理由
フローを有効化する有効なフローも本番には無効として入る
権限セットをユーザーに割り当てる変更セットで運べるのは権限セットの定義で、ユーザーへの割り当ては本番で手で付ける
新しい項目が営業から見えるか確かめる項目権限を運ぶものを入れ忘れると、本番で見えないことがある
リストビューの表示範囲を確かめるリリースしたリストビューは既定で全ユーザーに表示される
カスタムタブの表示を確かめる既定で非表示(Professional Edition は常に表示)
営業1人の画面で失注を試す本番にしかないデータで止まる場面を見る

フローは変更セットに1つのバージョンしか入らず、送り直すたびに本番のバージョンが1つ増えます。

sandbox を更新する

更新の手順

  1. 本番の「設定」で「Sandbox」を開きます。
  2. 更新したい sandbox の横の「更新」をクリックします。リンクが無ければ、更新間隔がまだ過ぎていません。
  3. 「名前」「説明」「作成元」を確かめます。
  4. 種類と、Partial Copy ならテンプレートを選びます。
  5. すぐ使い始めたいなら「自動有効化」にチェックを入れます。
  6. 「Sandbox アクセス」で公開グループを選び、「作成」をクリックします。

更新の依頼は取り消せませんが、コピーが終わるまで古い sandbox を使えます。状況が「有効化待機中」になったら「有効化」をクリックし、その時点で古い版と中のデータは完全に消えます。新しい版が要らなければ「破棄」で古い版に戻せます。新しい版は30日以内に有効化しないと削除されます。

更新で消えるもの

消えるもの先にやっておくこと
本番に送っていない設定本番か別の sandbox に変更セットで送っておく
sandbox に入れたテストデータ残したいものはデータローダで書き出す
その sandbox から送った変更セット本番でリリースできるように見えても使えなくなるので、リリースを済ませてから更新する
直したメールアドレス・凍結解除公開グループを見直しておく
sandbox の組織 IDWeb-to-リードのように組織 ID を書き込んだ仕組みは書き直す

URL も変わることがあるので、ブックマークは更新のたびに確かめます。「削除」も「更新」と同じく更新間隔を過ぎるまで押せず、削除するとその sandbox から送った変更セットも消えます。

応用

作る場所と確かめる場所を分ける

リリース接続は、同じ本番から作った sandbox 同士の間にもできます。dev で作ったものを uat に送って営業マネージャーが確かめ、uat から本番へ送る形にし、本番の「リリース設定」で uat からの受信だけを許可すれば、確かめていないものが本番に入りません。例の会社の人数なら、最初は dev から本番へ直接送る形で足り、確認する人が増えたら uat を挟みます。

本番で直接変えたものを sandbox に戻す

本番で直接直した分だけ sandbox は古くなり、古い sandbox から送ると本番の変更を上書きします。代表が選択リストで、送った項目に含まれない値は本番で無効になります。本番で「失注理由」に「予算凍結」を足したのに、sandbox の失注理由に無いまま項目を送ると、本番の「予算凍結」が無効になります。Developer なら更新間隔が1日なので作業の前に更新し、更新できないときは本番で送信変更セットを作って dev へ送ります。

Developer Edition や Trailhead Playground との違い

無料で作れる Developer Edition は、本番のコピーではない、まっさらな別の組織です。sandbox の使用可能なエディションに入っておらず、Developer Edition から sandbox は作れません。変更セットは同じ本番にひもづく組織の間でしか送れないため、Developer Edition で作ったものを自社の本番に変更セットで移すこともできません。Trailhead Playground も変更セットに対応していません。操作を覚えるのはこれらで十分ですが、自社の項目や既存のフローがそろった状態で試せるのは自社の sandbox だけです。

リリースの時期の sandbox

メジャーリリースのアップグレードの完了から次のアップグレードの開始までの間に作った sandbox は、既定で次のリリースを先取りした版になります。本番と画面や動きが違うことがあり、変更セットのアップロードで版の違いによる検証エラーが出ることもあります。

できないことと、その代わり

できないこと理由・公式の記載代わりの手
変更セットでレコードを送る入るのは「設定」でできる変更だけデータローダで本番に入れる
変更セットで削除・名前変更をする削除・名前変更には使えない本番で手で消す。名前を変えるなら消してから新しいものを送る
標準オブジェクトそのものを送る標準オブジェクトは含められない足したカスタム項目・入力規則・ページレイアウトを個別に入れる
アップロード後に直す・取り消す編集も取り消しもできないコピーして直し、もう一度アップロードする
本番へのリリースを取り消すロールバックできない本番で手で直す。大きな変更は戻し方を先に書いておく
変更セットに入らない設定を送る対応していないコンポーネントは送れない本番で sandbox と同じ手順を繰り返す
Professional でプロファイルの設定を送るプロファイルを追加できない本番で権限セットの割り当てと項目権限を付ける
sandbox のコピーを早めてもらうサポートでも早められない早めに依頼する。テンプレートで写すデータを絞る
本番と自動で同期させる写した後は別々に動く作業の前に更新する。本番から変更セットを送る

よく詰まるところ

症状原因直し方
「新規 Sandbox」が押せない権限が無い、またはライセンスが残っていない権限を付ける。使わない sandbox を消す
状況が「未承認」のまま進まないコピーの順番待ち待つ。使う日の前日までに作る
test.salesforce.com でログインできないユーザー名に「.dev」を付けていない、先頭に英数字が付いている管理者が sandbox の「設定」でユーザー名を確かめる
ユーザー名が正しいのに入れない本番で login.salesforce.com からのログインを禁止している「私のドメイン」のログイン URL から入る
ログインすると凍結されている公開グループ外だった、60日ログインしなかった凍結を解除し、公開グループに足す
テストのメールが届かない「システムメールのみ」、またはアドレスに .invalid が付いている「送信」の設定を変え、自分のアドレスを直す
「リリース設定」で「アクセス権がありません」と出るsandbox が1つも無いsandbox を作ってから開く
アップロード先に本番が出ない本番で「変更着信を許可」していない本番の「リリース設定」で許可する
リリースが参照エラーで失敗する本番に無い連動コンポーネントを入れていないコピーして「連動関係を参照/追加」で足す
リリースしたオブジェクトに項目が無いオブジェクトだけを入れた項目を変更セットに入れて送り直す
リリースしたフローが動かない無効の状態で入る本番で有効化する
本番で足した選択リスト値が使えない送った項目に無い値は無効になる本番で値を有効に戻し、次から更新後に作業する
更新した sandbox に入れない「有効化待機中」のまま「有効化」をクリックする
sandbox が一覧から消えた180日アクセスが無い、30日以内に有効化しなかった、ロックから60日過ぎた作り直す。月に一度はログインする

次にやること

sandbox と変更セットの流れができたら、まず入力規則から試します。作り方は「Salesforceの入力規則とアクセス権。入力漏れと見せたくないデータを防ぐ」にまとめています。受注時に導入プロジェクトを作る、遅れたら担当に通知する、といった自動化は「Salesforceフローの作り方。レコードトリガーで更新と通知を自動化する」で作り、ここの手順で本番に出します。uat でのデータ移行の練習は「データローダの使い方。インストールから一括更新・削除まで」を見ながら進めます。

あわせて読む