What is (and How to Use) the Sitecore 9 Shard Map Manager Tool

What is the Shard Map Manager Tool

The Sitecore 9 SQL Shard Map Manager sharding deployment tool is designed to create your initial sharded environment that houses raw xConnect data. It’s not intended for rebalancing or reconfiguration of an environment with data. You would need to perform manual steps to reconfigure your environment.

The SQL sharding deployment tool can be found in the (OnPrem)_xp1collection.scwdp.zip package, in the \Content\Website\App_data\collectiondeployment\ folder. It is a command line interface tool that can be used either for deploying a sharded environment or for removing it.

There are two execution methods that I have found. The first is manual execution. The second is via SIF (including a small execution for deploying to Azure SQL).

How to Use the Shard Map Manager Tool – Manual Execution

Manual execution of the Shard Map Manager Tool is achieved via a command prompt. You will need to open a Command Prompt in Administrative Mode and ensure you are in the directory where the Shard Map Manager Tool exists:

While the /dbedition switch should allow you to select any level (ex. Basic, Standard, Premium), I found failures using Basic and Premium so use Standard to deploy then resize your databases as appropriate

Shard Map Manager and Shard Database Permissions

Post deployment, you need to add the correct permissions to the Shard Map Manager and Shard databases. This entails a “collectionuser” which resides outside of the database contained user security paradigm used for all other databases as this user needs to communicate across the Shards and Shard Map Manager.

Generate some visits (ensuring to close your browser for session end) and check your Experience Analytics for results.

NOTE: it may take a while for Sitecore to compile and process the raw data but you can check the interactions table in the shards to confirm the raw data is present (it will be in one of the shards, selected by the Shard Map Manager) and check the visits table in the Reporting database to see if your visits have processed. If you can see visits in the Reporting database it should appear in the Experience Analytics GUI assuming your Sitecore 9 environment is properly configured, including SSL certificates.