Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- param(
- [string]$dbServer = "y",
- [string]$dbUser = "sql",
- [string]$dbPass = "x",
- [string]$shardMapManagerDbName = "dbprefix.smm",
- [string]$shardDbNamePrefix = "dbprefix.shard",
- [string]$shardDbNameSuffix = [string]::Empty,
- [string]$totalShards = "2",
- [string]$shardMapNames = "ContactIdShardMap,DeviceProfileIdShardMap,ContactIdentifiersIndexShardMap")
- $elapsed = [System.Diagnostics.Stopwatch]::StartNew()
- try
- {
- Write-Host "Database Server: $dbServer"
- $invocationDir = Split-Path -Parent $MyInvocation.MyCommand.Path
- $rootDir = Join-Path -Path $invocationDir -ChildPath ..
- $exe = "C:foldertosqlshardingdeploymenttoolSitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe"
- $dacpac = "C:foldertoazuredacpacSitecore.Xdb.Collection.Database.Sql.Azure.dacpac"
- Write-Host "Xdb Collection Sql Deploy Tool: $exe"
- if (Test-Path -path $exe) {
- Write-Host "Create Xdb Collection Databases"
- & $exe "/operation" "create" "/connectionstring" """user id=$dbUser`;password=$dbPass`;data source=$dbServer`;""" "/dbedition" """Basic""" "/shardMapManagerDatabaseName" """$shardMapManagerDbName""" "/shardMapNames" """$shardMapNames""" "/shardnumber" """$totalShards""" "/shardnameprefix" """$shardDbNamePrefix""" "/shardnamesuffix" """$shardDbNameSuffix""" "/dacpac" """$dacpac"""
- Write-Host "Create Xdb Collection Databases Complete"
- }
- else
- {
- Write-Error "Xdb Collection Sql Deploy Tool Not Found: $exe"
- }
- }
- finally
- {
- Write-Host "Total time: $($elapsed.Elapsed.ToString())"
- }
- :SETVAR UserName username
- :SETVAR Password yourpassword
- IF(SUSER_ID('$(UserName)') IS NULL)
- BEGIN
- CREATE LOGIN [$(UserName)] WITH PASSWORD = '$(Password)';
- END;
- :SETVAR UserName username
- BEGIN
- CREATE USER [$(UserName)] FOR LOGIN [$(UserName)];
- GRANT SELECT ON SCHEMA :: __ShardManagement TO [$(UserName)];
- GRANT EXECUTE ON SCHEMA :: __ShardManagement TO [$(UserName)];
- END;
- :SETVAR UserName username
- BEGIN
- CREATE USER [$(UserName)] FOR LOGIN [$(UserName)];
- EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = '$(UserName)';
- END;
- :SETVAR CollectionDbUserName username
- GRANT SELECT ON SCHEMA :: __ShardManagement TO [$(CollectionDbUserName)]
- GRANT EXECUTE ON SCHEMA :: __ShardManagement TO [$(CollectionDbUserName)]
- :SETVAR CollectionDbUserName username
- EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = '$(CollectionDbUserName)'
Add Comment
Please, Sign In to add comment