Personal Notes of Edwin Eu

Archive for 2017|Yearly archive page

Common SQL Server Wait Types

In Microsoft SQL Server on 12/01/2017 at 9:32 AM

I found a solid article that discussed a common SQL wait type that provided by several SQL MVPs



DBA – How to add additional article into existing Publication. 

In Microsoft SQL Server on 11/07/2017 at 8:42 AM

How to add additional article into existing Publication.

Method 1: To add an article after a publication is created

  1. On the Articles page of the Publication Properties – <Publication> dialog box, clear the Show only checked objects in the list check box. This allows you to see the unpublished objects in the publication database.
  2. Select the check box next to each article you want to add.
  3. Click OK.


Method 2:  To add an article after a publication is created through Replication Transact-SQL Programming.

EXEC sp_addarticle @publication = N’RMS_Publication’,
@article = N’lwcase’, @source_owner = N’dbo’, @source_object = N’lwcase’,
@type = N’logbased’, @description  = null, @creation_script = null,
@pre_creation_cmd = N’drop’,
@identityrangemanagementoption = N’manual’, @destination_table = N’lwcase’,
@destination_owner = N’dbo’, @vertical_partition = N’false’,
@ins_cmd = N’CALL sp_MSins_dbolwcase’, @del_cmd = N’CALL sp_MSdel_dbolwcase’, @upd_cmd = N’SCALL sp_MSupd_dbolwcase’

DBA Notes – Transactional Database Replication

In Microsoft SQL Server on 11/06/2017 at 3:09 PM

I was assigned a database replication projects to setup database replication that supported ETL projects for a Fire and Policy department.

The Source and Target database are located in the same domain.

I used my previous experiences and I know how to setup database replication. My previous working experiences were setting – up a Transactional replication to replication wind farm database.

It’s important to understand the database replication terminology terms like:

    • Publisher
      • The MS SQL Server Database instance that provided data available to Subscribers. The Articles like Tables, and Views which are to be replicated are defined at the publisher.
    • Distributor 
      • The MS SQL Server Database instance that distributes data from one or more Publisher to one or more Subscribers
    • Subscriber
      • The MS SQL Server Database that going to receive data from Publishers.
    • Pull Distribution
      • Setup and located in Subscriber MS SQL Server
    • Push Distribution
      • Setup  and located in Publisher MS SQL Server.
    • Articles
      • An article is a SQL Server object like Table, View, Function, stored procedure, etc.
    • The Snapshot Agent
      • Distributes data exactly as of a point in time.
      • Prepares snapshot files containing schema and data of publication articles
      • Stores the files in the snapshot folder
    • The Distribution Agent
    • The Log Reader Agent

My DBA Story – October 2017

In Microsoft SQL Server on 10/26/2017 at 2:47 PM

My DBA Story.

As a production DBA, I wanted to make sure all production sql servers are backup properly.

And it’s amazing to me that when I assigned to Audit production Microsoft SQL Servers environment.

And I found many production databases did not have a properly backup plans as show below:









Even the database backup is known by many. Un-fortune, one did not appreciate that how important database backups

When databases failed or disaster.

So, I started implementing the backup and recovery plan like:

  • Setup and Created an operator
  • Setup database mail.
  • Full Back up is scheduled to run on Sunday
  • Differential Backup is scheduled to run from Monday through Saturday
  • Log Backup is scheduled to run a daily every hour
  • Added Alerts notifications


Azure SQL 2016 Clustering

In Microsoft SQL Server on 07/14/2017 at 1:50 PM

On my continue IT learning and passion.  I have setup two nodes Microsoft SQL Server 2016 clustering on Azure.

There are many preparations that must be done like:

  • Setup Azure Networking
  • Setup Windows Server 2012 R2
  • Setup Domain Controller
  • Setup Window Server Clustering.
  • Setup Microsoft SQL Server 2016 Clustering
  • Setup SQL Service accounts, sql ports, firewall, etc
  • Setup the storage like
    • msdt
    • quarum
    • SQLDATA1









The Domain Controller computer is called IND-DC01










The two nodes computers are called  INDAXSQLT1N1 and INDAXSQLT1N2 as shown picture below:










Then, I started the Microsoft SQL Server 2016 setup on Node1 and Node2.

Run Setup.exe as administrator.

Agree to license terms

Choose Instance Features

Database Engine Services (SQL Server Replication, Full-Text Search and Data Quality Services are automatically selected)















Uncheck DHCP and enter the virtual IP address for this instance.  You may need to enter the Subnet Mask if this is the very first installation of sql on this box.  Leave the Network name as is.















Enter an account and password for each service.  Leave startup type as manual because it is a cluster.




























Adding the second nodes















MS SQL Server AlwaysOn

In Microsoft SQL Server on 01/19/2017 at 11:05 AM

I continued to explorer my skills and knowledge on MS SQL Server 2016 on AlwaysOn.

I have been tested and  setup three (3) nodes clustering that running on VMWare environment on MS Window Server 2012 R2:

  • Node 1 – CRMSQLQ1N2 has installed, setup and configure MS SQL Server 2016.
  • Node 2 – CRMSQLQ1N3 has installed, setup and configure MS SQL Server 2016
  • Node 3 – CRMSQLQ1N4 has installed, setup and configure MS SQL Server 2016

On this example, on node 1 CRMSQLQ1N2  I will create several user databases.Then, turned on the SQL Server AlwaysOn features.

After completed setup, and configure SQL 2016 AlwaysOn.  The CRMSQLQ1N2 node1 should replicate those user databases into Node 2 and 3.

sql2016-alwayson sql2016-alwayson_page5 sql2016-alwayson_page4 sql2016-alwayson_page3 sql2016-alwayson_page2