5

How-to : Setup AlwaysOn Availability Group on SQL Server 2012

-

SQL Server 2012 has very nice HADR technology built-in, AlwaysOn Availability Groups. It allows to have multiple replicas of selected databases across multiple servers, which can be even located across multiple sites. AlwaysOn itself provides mechanism to keep all replicas of database synchronized and up-to-date, as some of them might serve data for read-only purposes (for example reporting).

MSDN article: AlwaysOn Availability Groups (SQL Server) describes AlwaysOn technology in details. In this article I will focus on practical side of this HADR technology and how to get this up and running fast without any issues.

To test and demonstrate SQL Server 2012 AlwaysOn capabilities I built simple Lab environment on VMware Workstation as shown below. Lab contains 2 servers with Windows Server 2012 R2 Datacenter and SQL Server 2012 Enterprise.

Lab environment also contains Active Directory domain and Domain Controller, which is not shown on the diagram.

In order to get SQL Server AlwaysOn up and running we will complete following activities:

  • Install Failover Clustering Role
  • Configure Windows Server Failover Clustering
  • SQL Server installation
  • Demo database preparation
  • Enable Availability Groups on SQL Server
  • Creating AlwaysOn Availability Group

So, let’s get started…

(more…)

1

Tips & Tricks : Analyzing Windows memory.dmp file

-

Many times you think how to extract some information from memory.dmp generated by Windows once it crashes. Let’s have a look into quick process, which might be very helpful in many cases during troubleshooting unexpected BSODs on client computers.

Before we start we need tool, WinDbg, which is available on Microsoft.com. In order to download WinDbg go to WDK and WinDbg downloads on Microsoft. On that page locate section Standalone Debugging Tools for Windows (WinDbg).

Once you download and install WinDbg we are ready to start.

So, let’s see what’s in memory.dmp

(more…)

0

Code snippets : Execute SQL script using PowerShell

-

Recently I went through requirement of running SQL scripts on multiple databases on different servers. As the list of databases was different from script to script I decided to create universal solution, which will allow to easily prepare for deployment and can be simply reused at any time.

As a platform to execute scripts I went with PowerShell as that provides flexibility in case additional functionality will be required.

Whole solution contains 3 files:

  • SqlExecutionInflow.csv – file contains list of databases and servers where particular database is located. It is simple CSV file with 2 columns
  • SqlExecQuery.sql – contains SQL script which will be executed against all databases listed in SqlExecutionInflow.csv
  • SqlExec.ps1 – main script which load SqlExecInflow.csv and executes query from SqlExecQuery.sql

All files have to be placed in same folder. As a result script will create transcript file with output from all executed commands.

And here are example files and script itself…

(more…)