Microsoft ships a TableDiff utility along with SQL Server. This utility compares the contents of two tables, and outputs the results of the comparison in different ways depending on settings past by the client. Tablediff can be used as part of your replication strategy confirming success or failure. The tablediff utility does have some restrictions. It only works with SQL […]
Author: Ben Taylor
Cross Database Concerns
Many DBAs modify System databases created by the data engine provider in order to host objects that are not specific to a single database. For example, I wrote a stored procedure that retrieves all running processes returning the database, SQL, and other properties of the command that was or is being executed. For Microsoft SQL Server I came up with […]
Windows Core, VMs and SQL Server
Yesterday I talked about using the Windows Core 2012 Server edition of windows as a host operating system for Hyper-V enabled virtual machines as SQL Server hosts. The Intel hardware now provides excellent performance running with this kind of configuration; so performance is no longer as much of a factor against virtual machines as in days of old. Ok, just […]
Windows Core 2012
The core version of Windows Server 2012 has been enhanced considerably from earlier releases in the number of features it now supports. The primary difference and benefits to the core version of windows is the removal of features utilizing resources other than providing services to the clients. Things like the GUI interface are replaced with a command line, and power […]
Multi-tenant Application Resource Separation
Previously we considered the needs of Multi-tenant applications to maintain separation of data in the application and persistence. Separation by schema, vertical or horizontal partitioning, sharding or simple pointers techniques are possible techniques. Resource separation is also important in multi-tenant applications. Many of us have experienced sluggish performance of applications because a high-demand process is utilizing a majority of the […]
Unit Testing Difficult Code
How do you test your applications? Believe it or not, you always test your software. There are companies that test their software through user affirmation; if they don’t get any complaints then the software must be correct. Hopefully this is not the normal testing methodology. You can test your software manually if it has a user interface or tools allowing […]
RocksDB
Most modern database software is based on the disk storage system of the operating system. There were some exceptions in the high end market for engines such as Sybase which had its own disk controller utilizing raw disks not accessible by the operating system. Recently Facebook released a new database into the Open Systems environment based on flash storage. The […]
Multi-tenant Application Data Separation
Recently we talked about authentication as a central building block of a Multi-tenant application service. Another aspect of a Multi-tenant application architecture is the separation of data. Once we authenticate the credentials of the client, we must then assure they view only data to which they are entitled. Some data can be shared across tenants when it is common to […]
Isolating Trigger Actions by Process
In SQL Server every batch has an attribute associated with it called Context_info. This session specific variable is accessible to the user to be set or read. Here is an example from BOL on setting and retrieving the value of Context_Info: SET CONTEXT_INFO 0x1256698456 GO SELECT CONTEXT_INFO() GO Some ingenious developers have determined this to be an effective way to […]
Remote Authentication
Today I was reading an article about “Architecting Multi-Tenant Applications in Windows Azure” in the June 13 edition of MSDN magazine. There were four areas the author intends to cover in the series where Azure helps in the design of applications. The first one was about Authentication. It turns out that Microsoft Azure Active Directory has some neat integration wrapped […]