a Collection of Tools for CM and Development with SQL Server

An SQL text by Erland Sommarskog, SQL Server MVP.

AbaPerls is a collection of tools that I started developing in 1996 to meet the needs we had in the company I was working in to develop and deploy the database part of our product. They have evolved a lot since 1996 and while I'm now an independent consultant, I'm still involved with that product, so it is likely that AbaPerls will continue to evolve.

Since these tools are general in nature, and address some problems that many SQL developers face – not the least the misfeature of deferred name resolution – I have put them in the public domain. The tools are used on every-day basis at one of my clients, so they are certainly stable. Then again, since they are developed them to meet specific needs, there are certainly are some rough edges and some funny shortcuts. And there is no denial that by now the tools have reached a level of complexity that getting started is a bit of a challenge.

The core purpose of AbaPerls from a CM perspective is to be able to build and update a database application from a version-control system. Currently, AbaPerls support Visual SourceSafe and Team Foundation Server. To achieve this, AbaPerls installs its own system tables in the database, so that when you run an upgrade script, AbaPerls knows whether the script is in sync with the database or not. An important part of this is that AbaPerls does not look at your database as a monolith, but you can divide the database into subsystems that you update independently.

For a developer, the most visible part of AbaPerls is the tool ABASQL which is used to load a file with SQL objects from disk or version-control to the database. ABASQL improves the experience for the developer in several ways:

Above I have mixed ABASQL and AbaPerls. ABASQL is just the command-line interface to the AbaPerls file-loading process which is also used by DBBUILD that builds an empty database and the update scripts you can generate with AbaPerls.

There are a couple of more features worth mentioning. The tool INSFILGEN permits you to generate INSERT-files for pre-loaded data from Excel books. And the tools SSGREP and SSREPLACE permits you to search and replace source code under version control (TFS or SourceSafe), ignoring comments in the source code. There is also a tool VCDBLOAD so that you can load all your source code into a fulltext-indexed database for more efficient searching.

AbaPerls presumes an environment of Windows, .NET and SQL Server. (SQL 2005 SP2 or later.) AbaPerls is implemented entirely in Perl. And T-SQL of course.

Just so you know it: AbaPerls is command-line only. There is no GUI.

To read more about AbaPerls, move on to the AbaPerls manual and read the introduction.

To download AbaPerls go to the download page. The current version of AbaPerls is L1.0.0360.

If you have any questions on AbaPerls, you can reach me on esquel@sommarskog.se.

AbaPerls is available under the Perl Artistic License.

This page was last updated 17-06-24 12:28