-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delayed durability in Import-D365Bacpac #647
Comments
Thanks for the suggestion. Did you try to run Import-D365Bacpac with an existing, but empty database with Currently, SqlPackage is used by the internal cmdlet Invoke-SqlPackage to both create the database and import the data into it. If this is to be added to the d365fo.tools, we should consider that apparently, the increased speed comes with the risk of data loss: When to use delayed transaction durability As for the actual change: |
I am restoring the database from Tier2 by creating a new database(I don't have an empty database) I think your proposal is great, I suggest this will be a default mode:
|
Can you share the raw commands that you have been testing with? My current understanding is that we could manipulate a model/manifest file prior the import and have the expected output. Then we only need a set delayed on / off cmdlet. Could prove useful for stress testing and data migration down the road. There are some caveats with the delayed durability functionality, but it could be solved with the on / off cmdlet. |
This would be the perfect time to simplify the import cmdlet, as Tier2 support isn't needed anymore. |
@Splaxi - I did the following test
|
Hi I use DBAtools to create the database before importing (with meads i can speed up import by hours by setting flinched database size to start with) Set-DbatoolsConfig -Name Import.EncryptionMessageCheck -Value $false -PassThru | Register-DbatoolsConfig Write-Host "Create new AxDB and Import BACPAC file to the SQL database" $NewDB -ForegroundColor Yellow Write-Host "Importing bacpac" -ForegroundColor Yellow |
Nice - do you in any way calculate or extract the database size from somewhere? Or are you just "guessing"? |
i start with And i check the database size in the admin power platform , and change accordingly to the size there :-) always try an start with the database in the corrects size, thats maks the restore faster by hours |
Delayed durability greatly improves the speed of restoring a bacpac ( In my tests from 400 to 650 requests per second).
Can you enable it by default? So after creating a database in Import-D365Bacpac procedure, automatically execute the following command
USE [master]
GO
ALTER DATABASE [RestoredName] SET DELAYED_DURABILITY = FORCED WITH NO_WAIT
GO
The text was updated successfully, but these errors were encountered: