Scenario:  A couple of days back, when we were setting up a DR plan for one of our most mission critical DB server which was hosting around 10 databases having size of 10,23,5,7.4,1.8,6.2,7.9,5.53,8.7 and 125 GB respectively. I decided to implement Log Shipping as a part of the DR strategy because the DR server (Secondary Server) was never going to be used for Reporting purpose; therefore Log Shipping was the best choice. Implementing Log Shipping for small databases is relatively Simple as one can easily do it using the GUI but for large database GUI is not a good option as the database on the destination server will be always out of sync. So a question arises on “How do we accomplish this task?”. In this article, I am going to explain you’ll the detailed steps which we followed to implement the same. Continue reading

Transactional Replication – A Much Better Approach For Alert Messages

As  DBAs, we are often required to set up alert notification emails for various tasks. For example, there might be a requirement to set up notification alerts if a particular backup job fails. A while back, I  came across the situation where I was asked to write a script which sent an email alert to a particular group of users if there was an issue with the Transactional Replication. The users were not happy with the alert message generated by the pre-defined alerts introduced by Microsoft in SQL Server Management Studio since they were not able to understand the description of the message – since the body as well as the heading of the email were not easily interpreted. After gathering the requirements, I decided to implement a more functional email alerts system. Continue reading



A couple of days back, I was examining the configuration of one of our production DB servers. This server was involved in Merge Replication. All the database files on this server were dumped on one SAN drive of a subsequently small size. The replication cleanup job for some reasons was not able to delete the historical records from the system tables present in the distribution database due to which all of a sudden the drive which contained the data files as well as the log files got filled up hardly leaving any space for the SQL Server to start. After a detailed examination of the system, I came up with the following recommendations: Continue reading