Import D365Dacpac - FH-Inway/d365fo.tools GitHub Wiki
Import dacpac file to a database
Import-D365Dacpac [-Path] <String> [[-ModelFile] <String>] [[-PublishFile] <String>]
[[-DiagnosticFile] <String>] [[-MaxParallelism] <Int32>] [[-DatabaseServer] <String>]
[[-DatabaseName] <String>] [[-SqlUser] <String>] [[-SqlPwd] <String>] [[-LogPath] <String>]
[-ShowOriginalProgress] [-OutputCommandOnly] [-EnableException] [<CommonParameters>]
Import a dacpac file into a database, using the publish feature of SqlPackage.exe
If the database doesn't exists, it will be created
If the database exists, the publish process from the dacpac file will make sure to align the different tables inside the database
Import-D365Dacpac -Path "c:\Temp\AxDB.dacpac" -ModelFile "c:\Temp\dbo.salestable.model.xml"
This will import the dacpac file and use the modified model file while doing so. It will use the "c:\Temp\AxDB.dacpac" as the Path parameter. It will use the "c:\Temp\dbo.salestable.model.xml" as the ModelFile parameter.
This is used to enable single table restore / publish.
Import-D365Dacpac -Path "c:\Temp\AxDB.dacpac" -ModelFile "c:\Temp\dbo.salestable.model.xml" -DiagnosticFile "C:\temp\ImportLog.txt" -MaxParallelism 32
This will import the dacpac file and use the modified model file while doing so. It will use the "c:\Temp\AxDB.dacpac" as the Path parameter. It will use the "c:\Temp\dbo.salestable.model.xml" as the ModelFile parameter. It will use the "C:\temp\ImportLog.txt" as the DiagnosticFile parameter, where the diagnostic file will be stored.
It will use 32 connections against the database server while importing the bacpac file.
This is used to enable single table restore / publish.
Import-D365Dacpac -Path "c:\Temp\AxDB.dacpac" -PublishFile "c:\Temp\publish.xml"
This will import the dacpac file and use the Publish file which contains advanced configuration instructions for SqlPackage.exe. It will use the "c:\Temp\AxDB.dacpac" as the Path parameter. It will use the "c:\Temp\publish.xml" as the PublishFile parameter, which contains advanced configuration instructions for SqlPackage.exe.
This is used to enable full restore / publish, but to avoid some of the common pitfalls.
Path to the dacpac file that you want to import
Type: String
Parameter Sets: (All)
Aliases: File, Dacpac
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Path to the model file that you want the SqlPackage.exe to use instead the one being part of the dacpac file
This is used to override SQL Server options, like collation and etc
This is also used to support single table import / restore from a dacpac file
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Path to the publish / profile file that contains extended parameters for the SqlPackage.exe assembly
Type: String
Parameter Sets: (All)
Aliases: ProfileFile
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Path to where you want the import to output a diagnostics file to assist you in troubleshooting the import
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Sets SqlPackage.exe's degree of parallelism for concurrent operations running against a database
The default value is 8
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 5
Default value: 8
Accept pipeline input: False
Accept wildcard characters: False
The name of the database server
If on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).
If Azure use the full address to the database server, e.g. server.database.windows.net
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 6
Default value: $Script:DatabaseServer
Accept pipeline input: False
Accept wildcard characters: False
The name of the database
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 7
Default value: $Script:DatabaseName
Accept pipeline input: False
Accept wildcard characters: False
The login name for the SQL Server instance
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 8
Default value: $Script:DatabaseUserName
Accept pipeline input: False
Accept wildcard characters: False
The password for the SQL Server user
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 9
Default value: $Script:DatabaseUserPassword
Accept pipeline input: False
Accept wildcard characters: False
The path where the log file(s) will be saved
When running without the ShowOriginalProgress parameter, the log files will be the standard output and the error output from the underlying tool executed
Type: String
Parameter Sets: (All)
Aliases: LogDir
Required: False
Position: 10
Default value: $(Join-Path -Path $Script:DefaultTempPath -ChildPath "Logs\ImportDacpac")
Accept pipeline input: False
Accept wildcard characters: False
Instruct the cmdlet to show the standard output in the console
Default is $false which will silence the standard output
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
Instruct the cmdlet to only output the command that you would have to execute by hand
Will include full path to the executable and the needed parameters based on your selection
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
This parameters disables user-friendly warnings and enables the throwing of exceptions This is less user friendly, but allows catching exceptions in calling scripts
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Tags: Database, Dacpac, Tier1, Tier2, Golden Config, Config, Configuration
Author: Mötz Jensen (@Splaxi)