---
title: "SQLシャーディング展開ツール"
slug: "the-sql-sharding-deployment-tool"
abstract: "SQLシャーディング展開ツールの操作とパラメータの概要。"
---
# SQLシャーディング展開ツール

SQLシャーディングデプロイメントツールは、[xDBコレクションデータベース](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/xdb-collection-database.html "xDB Collection database") をデプロイ・管理する実行ファイルであり、シャード数などのパラメータをより細かく制御したい場合に単独で使用できます。このツールはローカルマシンから実行しなければなりません。Azure環境からアップロード・実行することはできません。

> !注Sitecoreインストールフレームワーク(SIF)とSitecore Azureツールキット(SAT)はデフォルトで2つのシャードを作成します。シャードの数を変更するには、xDBコレクションデータベースを再デプロイできます。SIFでは、インストール過程で使用するJSONファイルも変更できます。

## 所在地

このツールはxConnect Collectionサービスにバンドルされており、以下のウェブデプロイパッケージ(WDP)で利用可能です:

位相名

WDP名の例

工具の位置

XPシングル(開発者向け) - オンプレミス

Sitecore 10.0.0 rev. 001250 (OnPrem)\_xp0xconnect.scwdp.zip

\\Content\\Website\\App\_Data\\collectiondeployment\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe

XP Single(開発者向け) - クラウド

Sitecore 10.0.0 rev. 001250 (Cloud)\_xp0xconnect.scwdp.zip

XPスケールド - オンプレミス

Sitecore 10.0.0 rev. 001564 (OnPrem)\_xp1collection.scwdp.zip

XPスケールド - クラウド

Sitecore 10.0.0 rev. 001564 (Cloud)\_xp1collection.scwdp.zip

## 運用

SQLシャーディングデプロイメントツールを使って以下のようなことができます:

-   xDBコレクションのシャードクラスター(create)を作成します。例えば:
    
    .\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe /operation create /connectionstring "user id=sa;password=12345;data source=./SQL2017;" /shardMapManagerDatabaseName "Sitecore.Xdb.Collection.Database.Sql.ShardMapManagerDb" /shardnumber 2 /shardnameprefix "Sitecore.Xdb.Collection.Database.Sql" /shardnamesuffix "\_" /dacpac ".\\Sitecore.Xdb.Collection.Database.Sql.dacpac"
    
-   xDBコレクションのシャードクラスター(drop)を落とします。例えば:
    
    .\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe /operation drop /connectionstring "user id=sa;password=12345;data source=.\\SQL2017;" /shardMapManagerDatabaseName "Sitecore.Xdb.Collection.Database.Sql.ShardMapManagerDb"
    
-   シャードクラスタにシャードを追加します(addShard)。例えば:
    
    .\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe /operation addShard /connectionstring "user id=sa;password=12345;data source=./SQL2017;" /shardMapManagerDatabaseName "Sitecore.Xdb.Collection.Database.Sql.ShardMapManagerDb" /shardConnectionString "user id=sa;password=12345;data source=./SQL2017;" /shardnameprefix "Sitecore.Xdb.Collection.Database.Sql" /shardnamesuffix "\_" /dacpac ".\\Sitecore.Xdb.Collection.Database.Sql.dacpac"
    
    > !注このコマンドはクラウド環境でのみ利用可能で、オンプレミスでは利用できません。
    
-   シャードクラスターからシャードを1つ削除します(deleteShard)。例えば:
    
    .\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe /operation deleteShard /connectionstring "user id=sa;password=12345;data source=.\\SQL2017;" /shardMapManagerDatabaseName "Sitecore.Xdb.Collection.Database.Sql.ShardMapManagerDb" /shardConnectionString "user id=sa;password=12345;data source=.\\SQL2017;" /shardDatabaseName "Sitecore.Xdb.Collection.Database.Sql2\_"
    
-   シャードマップのキーレンジ(printMapping)を印刷してください。例えば:
    
    .\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe /operation printMapping /connectionstring "user id=sa;password=12345;data source=.\\SQL2017;" /shardMapManagerDatabaseName "Sitecore.Xdb.Collection.Database.Sql.ShardMapManagerDb"
    
-   ShardMapManager(registerSchema)のレジスタスキーマを登録してください。例えば:
    
    .\\Sitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe /operation registerSchema /connectionstring "user
    id=sa;password=12345;data source=.\\SQL2017;" /shardMapManagerDatabaseName "Sitecore.Xdb.Collection.Database.Sql.ShardMapManagerDb"
    

> !重要SQLシャーディングデプロイメントツールを使ってシャードを追加または削除しても、[既存のデータを自動的に分割・マージ](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/split-or-merge-xdb-collection-database-shards.html "Split or merge xDB Collection database shards")することはできません。SQLシャーディングデプロイメントツールは分割・マージ操作の一部として使用されます。
> 
> スキーマの登録は分割・マージ操作の前提条件の一つです。スキーマが登録されていない場合、分割・マージ操作はデータを移行できません。

## パラメータ

以下の表は、SQLシャーディング展開ツールで使用されるパラメータを説明しています。異なる操作は特定のパラメータセットを受け入れます。

パラメータ名

必須

概要

価値観/例

/operation

はい

どの操作を行うかを指定します。

-   create
-   drop
-   addShard
-   deleteShard
-   printMapping
-   registerSchema

/connectionstring

はい

データベース作成に使われるSQL Server接続文字列。

"user id=sa;password=SamplePassword;data source=.\\SQL2016"

/dbedition

いいえ

Azure SQL [DTUベースのサービスティア。](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-dtu) この値はAzure SQLにデプロイする場合のみ使用されます。

-   ベーシック
-   標準
-   プレミアム
-   ジェネラルパーパス
-   ビジネスクリティカル

/shardMapManagerDatabaseName

はい

シャードマップマネージャーデータベースの名前です。

例: Sample\_ShardMapManagerDb

/shardnumber

はい

作るシャードの数。

5

/shardnameprefix

いいえ

フォーマットは{Prefix}{Number}{Suffix}です。

例: Sample.Shard

/shardnamesuffix

いいえ

フォーマットは{Prefix}{Number}{Sellix}です。サフィックスは空欄のままにしても構いません。

例: \_ABC

/dacpac

はい

DACPACファイルへのパス。デフォルトでは、DACPACファイルはツールと同じフォルダにあります。

-   Sitecore.Xdb.Collection.Database.Sql.dacpac

/log

いいえ

ログファイルへのパス。ログファイルが指定されていない場合、出力はコンソールに書き込まれます。

/shardConnectionString

はい

addShardおよび/deleteShard作業で使用されています。

/shardDatabaseName

はい

/deleteShard作戦で使用されました。

/force

いいえ

/addShard操作で使用されるオプションパラメータ。スキーマ比較なしでシャードを追加強制します。

\- true  
  
\- false

/elasticpool

いいえ

クラスタデータベースを展開するための登録されたエラスティックプールの名前。議論はSQL Azure具体的なものです。

createとaddShardと一緒に使ってください。