Пример #1
0
        private static ShardSetConfig ConfigureShardSet(Server server)
        {
            var shardSetConfig =
                new ShardSetConfig
            {
                AllowDeployments     = true,
                CurrentShardCount    = 0,
                MaxShardCount        = -1,
                MaxShardSizeMb       = 100,
                MaxShardletsPerShard = 1000,
                MinShardSizeMb       = 10,
                TargetShardCount     = 5,
                ShardSetName         = "AWSales"
            };

            shardSetConfig.Servers.Add(server);
            shardSetConfig.UpdateShardMap();

            // add pointer shard
            var serverLocation = ConfigurationManager.AppSettings["TestSQLServer"] ?? @"(localdb)\v11.0";

            var pointerShard =
                new Shard
            {
                Catalog            = "AdvWrkAWSales_HighVolume",
                Description        = "Database for premium speed orders",
                ServerInstanceName = serverLocation
            };

            shardSetConfig.Shards.Add(pointerShard);

            // add dacpac settings
            shardSetConfig.SetShardSetSetting("DacPacBlobName", @"AWSales.dacpac");
            shardSetConfig.SetShardSetSetting("DacPacProfileBlobName", @"AWSales.Deploy.azuredb.publish.xml");
            shardSetConfig.SetShardSetSetting("DacPacSyncProfileBlobName", @"AWSales.Sync.azuredb.publish.xml");
            shardSetConfig.SetShardSetSetting("DacPacShouldDeployOnSync", _queueAndUseWorkerRoles.ToString());

            try
            {
                shardSetConfig.Save();
            }
            catch (DbEntityValidationException e)
            {
                // todo: log
                var errors = e.EntityValidationErrors;
                throw;
            }


            return(shardSetConfig);
        }
Пример #2
0
        private static ShardSetConfig SaveTestShardSetConfig()
        {
            var shardSetConfig =
                new ShardSetConfig
            {
                AllowDeployments     = true,
                CurrentShardCount    = 0,
                MaxShardCount        = 5,
                MaxShardSizeMb       = 100,
                MaxShardletsPerShard = 1000,
                MinShardSizeMb       = 10,
                TargetShardCount     = 5,
                ShardSetName         = TestShardSetName
            };

            // add dacpac settings
            AddDacPacSettings(shardSetConfig);

            shardSetConfig.Save();

            return(shardSetConfig);
        }