Skip to content

Instantly share code, notes, and snippets.

View nvarscar's full-sized avatar

Kirill Kravtsov nvarscar

  • Victoria, BC
View GitHub Profile
@nvarscar
nvarscar / dbops_exports.ps1
Created October 23, 2018 18:59
dbops configuration examples
# Generating config files and using it later as a deployment template
New-DBOConfig -Configuration @{ DeploymentMethod = 'SingleTransaction'; SqlInstance = 'devInstance'; Database = 'MyDB' } | Export-DBOConfig '.\dev.json'
Get-DBOConfig -Path '.\dev.json' -Configuration @{ SqlInstance = 'prodInstance' } | Export-DBOConfig '.\prod.json'
Install-DBOPackage Deploy.zip -ConfigurationFile .\dev.json
Install-DBOPackage Deploy.zip -ConfigurationFile .\prod.json
# Extract current config from a package
Get-DBOPackage Deploy.zip | Export-DBOConfig '.\prod.json'
# Use existing configuration from a package and apply it to a different package
@nvarscar
nvarscar / publish.xml
Last active August 27, 2018 16:39
dacpac deployment Publish profile
<?xml version="1.0" ?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetConnectionString></TargetConnectionString>
<ProfileVersionNumber>1</ProfileVersionNumber>
<AllowIncompatiblePlatform>True</AllowIncompatiblePlatform>
<CreateNewDatabase>False</CreateNewDatabase>
<ExcludeObjectTypes>Permissions;RoleMembership</ExcludeObjectTypes>
<ExcludeLogins>True</ExcludeLogins>
<IgnorePermissions>True</IgnorePermissions>
[Cmdletbinding()]
Param (
$SourceServer,
$TargetServer = $SourceServer,
$SourceDatabaseName,
$TargetDatabaseName,
$Path,
$PublishXml = '.\publish.xml',
[switch]$IncludeData
)
@nvarscar
nvarscar / extract_dacpac.ps1
Created August 24, 2018 19:45
Extract dacpac package
Param (
$Server,
$Database,
$Path,
[switch]$IncludeData
)
# Prepare extraction properties string
$exportProperties = "/p:IgnorePermissions=True /p:IgnoreUserLoginMappings=True" # Ignore permissions definition
if ($IncludeData) {
$exportProperties += " /p:ExtractAllTableData=True" #Extract data