This chart that lists the latest versions of the various database products available. This unofficial build chart lists all of the known KB articles, hotfixes and other builds of MS SQL Server 2014, 2012, 2008 R2, 2008, 2005, 2000 and 7.0 that have been released.
It is important that you have the latest service packs and updates installed for the version of Windows the server is running, but also for the SQL Server instance as well.
You can get the current version of your SQL Server instance with this query, which should return your version information:
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009
10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Express
Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )
Microsoft has a great training resource at their training web site.
This Microsoft site allows you to track down available training courses and determine which classes are required for certification, and the latest books published.
You can use your Microsoft Live login to create a lesson plan and start taking some of the free courses today.
You can use PowerShell, provided by Microsoft, to gather and display information about your instance of SQL Server. The scripting process is fairly easy, and it can help you gather information about an instance very quickly.
In this blog post by Michiel Worie, he covers the building and running of a PowerShell script from SQL Server 2008:
# Loads the SQL Server provider extensions
# Usage: Powershell -NoExit -Command "& '.\Initialize-SqlPsEnvironment.ps1'"
# Change log:
# June 14, 2008: Michiel Wories
# Initial Version
# June 17, 2008: Michiel Wories
# Fixed issue with path that did not allow for snapin\provider:: prefix of path
# Fixed issue with provider variables. Provider does not handle case yet
# that these variables do not exist (bug has been filed)
$ErrorActionPreference = "Stop"
if (Get-ChildItem $sqlpsreg -ErrorAction "SilentlyContinue")
throw "SQL Server Powershell is not installed."
$item = Get-ItemProperty $sqlpsreg
$sqlpsPath = [System.IO.Path]::GetDirectoryName($item.Path)
# Preload the assemblies. Note that most assemblies will be loaded when the provider
# is used. if you work only within the provider this may not be needed. It will reduce
# the shell's footprint if you leave these out.
foreach ($asm in $assemblylist)
$asm = [Reflection.Assembly]::LoadWithPartialName($asm)
# Set variables that the provider expects (mandatory for the SQL provider)
Set-Variable -scope Global -name SqlServerMaximumChildItems -Value 0
Set-Variable -scope Global -name SqlServerConnectionTimeout -Value 30
Set-Variable -scope Global -name SqlServerIncludeSystemObjects -Value $false
Set-Variable -scope Global -name SqlServerMaximumTabCompletion -Value 1000
# Load the snapins, type data, format data
Update-TypeData -PrependPath SQLProvider.Types.ps1xml
update-FormatData -prependpath SQLProvider.Format.ps1xml
Write-Host -ForegroundColor Yellow 'SQL Server Powershell extensions are loaded.'
Write-Host -ForegroundColor Yellow 'Type "cd SQLSERVER:\" to step into the provider.'
Write-Host -ForegroundColor Yellow 'For more information, type "help SQLServer".'
This utility is an open source utility that helps you install and configure a SQL Server instance in a uniform and secure way.
From the web site: “FineBuild provides 1-click install and best-practice configuration of SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, and SQL Server 2005.”
Once you have downloaded the documentation and installed scripts, you can customize the install scripts until you get them working the way you like. Then you can run FineBuild against a Windows server to create a new SQL Server instance that is the same each time you run the install. You can document the process and that becomes your build guide, which really makes it easy for the auditors to see your procedures and audit your SQL Server build process.