The ApexSQL Source Control 2021 version brings more improvements than any ApexSQL Source Control version ever before:
- Performance of the Action center tab has been improved up to 280%
- New framework object for both development models is added
- Minimal permissions to work with ApexSQL Source Control has been changed
- Additional ignore and synchronization script options added:
- Server and database names in synonyms
- Next filegroups in partition schemas
- Additional synchronization options are added under the Script options tab:
- Include dependent objects
- Script USE for database
- Ignore comparison options tooltips are clickable now and they show examples for each option
- Static data resolve conflict support
- ApexSQL defaults, My defaults, and Save as my defaults functionality has been modified
- New ApexSQL Updater allows users to configure advanced updating settings of all installed ApexSQL products
- Application telemetry now collects anonymous data on the use and performance of applications and application components
- Error handling and send logs functionality has been modified
Performance improvements
This version of ApexSQL Source Control’s main focus is on general performance improvements.
In the database linking process, opening the Action center tab after the Finish button in the Source control setup window is clicked, is speed up by 90%. Now for a database with 10K objects, this process will take under a minute.
The initial commit process is sped up by 480%. To initial commit, 10K objects to the source control repository will take approximately 6 minutes.
The refresh of the Action center tab is sped up by 200%, based on the number of made changes against a database. To refresh the Action center tab for a database with 10K object changes will take approximately a minute.
Overall work time in the Action center tab is improved by 280%.
-
Note: The impact of the performance improvements is related to the user environment and size of the linked database
But that’s not all. We implemented a couple of more improvements to provide a better user experience in everyday work.
Framework objects
From this version on, the upgrade of the framework objects will be done automatically.
The upgrade of the framework objects for databases linked in the dedicated development model will be done per database. For databases linked in the shared development model, the framework objects upgrade will be done per SQL Server.
- Note: For Azure SQL Database and Amazon RDS the framework objects upgrade for database linked in the shared development model will be done per database
For databases linked in the dedicated development model the following message will notify the user that an upgrade of the framework object needs to be done:
For the databases linked in the shared development model, based on the user’s permissions the following messages will be shown:
-
For user with the Control server permission
-
For user without the Control server permission
- Note: The notifications about the framework objects upgrade will be raised on a database expand or select in the Object Explorer panel
In order to provide the framework objects upgrade, the new framework object is added to already existing ones, for both of the development models (dedicated and shared), the FrameworkVersion function. The new framework object for the dedicated development model will be stored in the linked database, under the dbo schema, and for the shared development model under the ApexSQL schema, in the framework object database (by default ApexSQL database), under the Programmability – Functions – Scalar-valued Functions node:
Framework object function in the framework object database (by default ApexSQL database) for databases linked in the shared development model
Framework object function in the database linked in the dedicated development model
Minimal permissions required for work with ApexSQL Source Control
Adding the new framework object slightly changed the needed permissions for linking a database to a source control repository. To link a database in the dedicated development model now the user will need the create function permission on a database, as well as the second user who is linking a database in the shared development model for the framework database (by default ApexSQL database). For Azure SQL Database and Amazon RDS for SQL Server, the Alter permission will be required for linking a database in the shared development model.
All about needed permissions for SQL Server, Amazon SQL Database, and Amazon RDS for SQL Server to work with ApexSQL Source Control you can find in the following articles:
- Minimal required SQL Server permissions to work with ApexSQL Source Control are changed
- Minimal permissions for Azure SQL Database in database source control
- Minimal permissions for Azure SQL Database in database source control
Script options
Additional script options are added so the comparison process in the Action center tab between the database and the source control repository scripts is now even more adjustable. We changed the script options tooltips as well. To see the explanation of the script option as well as the example of the part of the script that will be affected by it, click the tooltip:
More about the script options in ApexSQL Source Control you can find in this article Script comparison and synchronization options in ApexSQL Source Control.
Static data resolve conflict support
All in the gain of a better user experience, the static data feature has been changed as well. Now the data conflict is supported and can be resolved in the Action center tab:
All information about this change is available in the Working with static data article.
My defaults
Furthermore, we improved the functionality of the ApexSQL defaults, My defaults, and Save as my defaults buttons in the Options window. The default options are saved by the tab and whenever any of these buttons are clicked, the appropriate message will be shown:
More about this change and how this feature is working you can find in the Default option settings in ApexSQL products article.
ApexSQL Updater
Now we have a new update mechanism, which will provide a continuous update to the latest available version of the add-in automatically. The ApexSQL Updater window will be shown when the Manage updates command is clicked in the main menu of ApexSQL Source Control:
More about this feature you can find in the How to auto-update ApexSQL tools/add-ins article.
Telemetry
In order to improve the overall user experience in ApexSQL Source Control, we added one more improvement, telemetry. To enable it, go to the General tab of the Options window and check the Send anonymous usage statistics option:
More about this improvement and how works, you can find it in the Telemetry in ApexSQL products article.
Send logs
One more thing on the list of changes is the improved Send logs feature, which is now adjusted to simplify the process of contacting support for the needed help. To start the sending logs process, click the Send logs command in the main menu of ApexSQL Source Control:
All about this improvement can be found in the Send logs feature in ApexSQL tools article.
February 19, 2021