Introducing SQL Farm Combine

analysis
May 17, 20067 mins

Some of you may remember at the end of last year I said I would be keeping my eye on a company called SQL Farms. Today I have my first update on their progress. They've got an editor that has tons of very rich functionality, but one of my favorites is the server grouping. What it does is allow you to group servers and/or databases together and then simultaneously run queries against them as a group. So you could

Some of you may remember at the end of last year I said I would be keeping my eye on a company called SQL Farms. Today I have my first update on their progress.

They’ve got an editor that has tons of very rich functionality, but one of my favorites is the server grouping. What it does is allow you to group servers and/or databases together and then simultaneously run queries against them as a group. So you could pull back job info on all of your production servers at once with a single query. The results pane even aggregates the results for you. There are many other features you’ll find useful, but rather than spin a bunch of cycles on explaining it to you myself, I’ll just relay to you what they sent me.

If anyone has any questions on the product feel free to write me and if I don’t know the answer, I’ll get you a contact at SQLFarms who does. Anyway, here’s the feature list in their own words.

SQL Farm Combine™ is a code deployment and change management tool, built into a rich-feature integrated development environment (IDE). The main advantage of SQL Farm Combine™ is that it allows enterprises to automate and build processes around the Dev QA Production lifecycle of SQL code releases, where the three environments are either connected or disconnected (disconnected environments reflects the fact that developers do not have access to the QA or production servers, and software engineers in QA do not have access to the Production machines). Another key benefit of SQL Farm Combine™ is that it supports SQL code deployment (queries, scripts) onto any number of databases and servers in parallel (patent-pending technology), therefore Combine is extremely useful for deploying code and/or running queries on multiple databases and servers at the same time in small to very-large SQL server environments. As an example, SQL Farm Combine™ Beta participants included companies with anywhere from 5 to 270 SQL servers.

Novel features of SQL Farm Combine:

Change management and deployment

1. Code packaging: SQL Farm Combine™ allows developers to collaborate and work together on their SQL releases. Once the SQL code is composed, developers then build a single code package for their release, which contains SQL scripts and maps each script to a set of target databases, on any number of servers.

2. Easy package transfer between development, QA, and Production, and a single-click package deployment on all target databases and servers: Code packages are constructed and configured once by the developers. Packages are then sent to QA and Production, and can be deployed by a click of button against all the appropriate target databases and servers, without requiring package reconfiguration. Furthermore, before deploying the package in QA or Production databases, software engineers in QA and Production DBAs can open the package, view the package content, choose which package scripts (if any) will not be run against the target databases and servers, or instruct the tool to deploy the package on only a sub-set of the configured target databases and servers.

3. Transacted or non-transacted code deployment: With SQL Farm Combine™, users can auto-compose code packages by selecting the database objects to be deployed. Using Combine’s feature-rich scripting dialogs, users can choose whether database changes will be made under a single transaction, or will not be transacted at all. When transactions are used, if any errors occur on the target databases during code deployment (i.e., package execution), all changes are then automatically rolled back.

4. Deployment verification results: All results returned from target databases and servers during the deployment of a code package (including result sets, warnings, errors, execution plans, etc.) can be saved into a single proprietary file. This file can then be returned to QA engineers or developers, and can be opened using the Combine application on their workstations, to view and examine all results and possible issues that arose during package execution.

5. Complete source control support: During package and project development, developers can collaborate and coordinate the composition of code packages by using source control features in Combine.

6. Easy configuration and maintenance: SQL Farm Combine™ can be configured once and by a single developer, using rich wizards and configuration options. All configuration values and parameters can then be exported and then imported by other developers, QA software engineers, and Production DBAs.

7. Executing code packages from the command line: Users and developers can configure Combine packages and then initiate package execution by invoking Combine from the command line with all appropriate parameters.

Distributed parallel data access

8. Running queries and scripts on multiple databases on any number of servers in parallel: SQL Farm Combine™ allows users to configure groups of target databases and store all configurations for future use. Users can then run scripts and queries against multiple databases and servers in parallel, and receive aggregated results from all target databases, as well as execution plans, messages, and all other outputs from each target database.

9. Compare execution plans returned from multiple databases: When running queries against multiple databases in parallel, Combine users can easily compare estimated or actual execution plans returned from each target database.

General features

10.1. Configurable interfaces – windows and components within the SQL Farm Combine™ user-interface can be customized by the user, docked in different locations in the application, and rearranged according to the user needs.

10.2. Intellisense, InfoTips, and Auto-Complete – SQL Farm Combine™ contains a built-in SQL and T-SQL code compiler that helps developers with Intellisense, InfoTips, and auto-complete features while they write SQL code. Unlike other tools that provide intellisense features for SELECT and other simple statements, SQL Farm Combine™ supports intellisense and auto-complete of all DBCC, SET, and many other (both simple and complex) SQL and T-SQL commands.

10.3. Code snippets – SQL Farm Combine™ includes many code snippets and templates that allow users to instantiate and embed them in their SQL code. Combine snippets are automated in the sense that users can easily replace code references with desired object names.

10.4. Context sensitive SQL and T-SQL help and language reference by Microsoft® – As we all know, Microsoft® help files and help content are non-redistributable. To overcome this difficulty and provide users with the latest Microsoft® SQL and T-SQL help, Combine™ contains SQL and T-SQL context sensitive help that redirects users to the appropriate Microsoft® books-online Web pages.

10.5. Saving grid data – Result sets displayed in SQL Farm Combine™ grids can be saved as an excel file, csv file, XML file, or can written to a SQL database.

10.6. Rich editor features – Editing features include outlining, book-marking, line numbering, auto-commenting, word coloring, and many other user-friendly features.

10.7. Rich-feature object browser – Combine’s object browser includes all the standard features available in other IDE application, topped by the ability to register multiple servers at the same time, validating the registration of multiple servers by connecting to all servers in parallel to save time, as well as the ability to import/export all object browser settings.

10.8. Execution plans – Estimated and actual execution plans can be presented graphically, as result sets, or as text (as returned from SQL server). Extended details regarding each node in the execution plan are available as well, and details can be copied and pasted as text to other applications.

10.9. Many other usability features, such as rich user-interfaces, wizards, dialogs, and so on, throughout the application.

Read my book reviews at:

https://www.ITBookworm.com