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); }
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); }