What’s new in ApexSQL Source Control 2021

The ApexSQL Source Control 2021 version brings more improvements than any ApexSQL Source Control version ever before:

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:

The framework objects upgrade

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

    The framework objects upgrade - SQL Server

  • For user without the Control server permission

    Missing permissions for shared database - SQL Server framework objects upgrade

  • 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 ProgrammabilityFunctionsScalar-valued Functions node:

FrameworkVersion function in the database linked in the dedicated development model

Framework object function in the framework object database (by default ApexSQL database) for databases linked in the shared development model

FrameworkVersion function in the  framework object database

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:

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:

Tooltip for script options under the Options window

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:

Data conflict resolution options 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:

Defaults buttons in the Options window

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:

The Manage updates command for ApexSQL Updater

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:

The telemetry command in the Options window

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:

The Send logs command

All about this improvement can be found in the Send logs feature in ApexSQL tools article.

 

February 19, 2021