Guest User

Untitled

a guest
Apr 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. param(
  2. [string]$dbServer = "y",
  3. [string]$dbUser = "sql",
  4. [string]$dbPass = "x",
  5. [string]$shardMapManagerDbName = "dbprefix.smm",
  6. [string]$shardDbNamePrefix = "dbprefix.shard",
  7. [string]$shardDbNameSuffix = [string]::Empty,
  8. [string]$totalShards = "2",
  9. [string]$shardMapNames = "ContactIdShardMap,DeviceProfileIdShardMap,ContactIdentifiersIndexShardMap")
  10.  
  11. $elapsed = [System.Diagnostics.Stopwatch]::StartNew()
  12. try
  13. {
  14. Write-Host "Database Server: $dbServer"
  15.  
  16. $invocationDir = Split-Path -Parent $MyInvocation.MyCommand.Path
  17. $rootDir = Join-Path -Path $invocationDir -ChildPath ..
  18.  
  19. $exe = "C:foldertosqlshardingdeploymenttoolSitecore.Xdb.Collection.Database.SqlShardingDeploymentTool.exe"
  20. $dacpac = "C:foldertoazuredacpacSitecore.Xdb.Collection.Database.Sql.Azure.dacpac"
  21.  
  22. Write-Host "Xdb Collection Sql Deploy Tool: $exe"
  23.  
  24. if (Test-Path -path $exe) {
  25.  
  26. Write-Host "Create Xdb Collection Databases"
  27. & $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"""
  28. Write-Host "Create Xdb Collection Databases Complete"
  29. }
  30. else
  31. {
  32. Write-Error "Xdb Collection Sql Deploy Tool Not Found: $exe"
  33. }
  34.  
  35. }
  36. finally
  37. {
  38. Write-Host "Total time: $($elapsed.Elapsed.ToString())"
  39. }
  40.  
  41. :SETVAR UserName username
  42.  
  43. :SETVAR Password yourpassword
  44.  
  45. IF(SUSER_ID('$(UserName)') IS NULL)
  46.  
  47. BEGIN
  48.  
  49. CREATE LOGIN [$(UserName)] WITH PASSWORD = '$(Password)';
  50.  
  51. END;
  52.  
  53. :SETVAR UserName username
  54.  
  55. BEGIN
  56.  
  57. CREATE USER [$(UserName)] FOR LOGIN [$(UserName)];
  58.  
  59. GRANT SELECT ON SCHEMA :: __ShardManagement TO [$(UserName)];
  60.  
  61. GRANT EXECUTE ON SCHEMA :: __ShardManagement TO [$(UserName)];
  62.  
  63. END;
  64.  
  65. :SETVAR UserName username
  66.  
  67. BEGIN
  68.  
  69. CREATE USER [$(UserName)] FOR LOGIN [$(UserName)];
  70.  
  71. EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = '$(UserName)';
  72.  
  73. END;
  74.  
  75. :SETVAR CollectionDbUserName username
  76.  
  77. GRANT SELECT ON SCHEMA :: __ShardManagement TO [$(CollectionDbUserName)]
  78.  
  79. GRANT EXECUTE ON SCHEMA :: __ShardManagement TO [$(CollectionDbUserName)]
  80.  
  81. :SETVAR CollectionDbUserName username
  82.  
  83. EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = '$(CollectionDbUserName)'
Add Comment
Please, Sign In to add comment