We have quite a few new features to talk about in our initial release of Aireforge Studio but I’ll start with one of my favourites; custom comparisons. Towards the middle of last year the team completed a total overhaul of OmniCompare, which meant that we could support any database provider (plans here) and made the creating or amending of comparisons much simpler. So simple that we put a GUI in front of it for Aireforge Studio and Bobs your uncle, we have custom comparisons.
Custom comparisons enable you to check values that are specific to your setup, such as the last update time in a table, row counts from replicated tables that should be in sync or you could make use of brand new DMVs by creating your own query rather than waiting for the next release of Aireforge Studio.
Note: We have plans to make the downloading and sharing of comparisons much easier and release independent.
Creating a custom comparison
Open Aireforge Studio 0.9.5 or newer, then navigate to the Compare tab, select Configure from the toolbar and then Add Comparison.
From this dialog you can create your own custom comparison. Lets create one to check if lock pages in memory is set.
Note: This will only work for SQL Server 2016 SP1 or newer and will fail on 2016 or below. You could put your own version check in the script for now but we’ll be making the version selection more granular.
Name: Lock Pages in Memory
Category: Create a new one or put it in Instance \ Hardware
Description: Returns sql_memory_model_desc which is either CONVENTIONAL, LOCK_PAGES or LARGE_PAGES (EE Only)
Query: As this only applies to SQL Server 2016 SP1, we only need a single query but it’s possible to create different queries, for different versions of SQL Server. This is useful if you want to convert values so that they match between versions (KB to MB etc.).
SELECT sql_memory_model_desc FROM sys.dm_os_sys_info;
Applies to: Select SQL Server 2016. Again, this will break other comparisons if you have 2016 servers that are not running SP1.
Columns: Select how Aireforge Studio should compare the column(s) and match the rows. We should choose Normal Compare for this example but the other options are:
- Primary Key: Used to match rows in the result sets
- Ignore: Ignored from the result set and not displayed
- Normal Compare: Should be equal across all servers
- No Compare: Displayed in results but not compared between servers
- Unique: Should be unique amongst servers
Now save the custom comparison and perform an Aireforge Studio compare. If you create a useful script and you think we should include it, please email us or create a support ticket.