{"id":1619,"date":"2010-03-22T11:31:02","date_gmt":"2010-03-22T15:31:02","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/jonathan\/?p=1619"},"modified":"2017-04-13T13:06:04","modified_gmt":"2017-04-13T17:06:04","slug":"sql-server-installation-checklist","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/","title":{"rendered":"SQL Server Installation Checklist"},"content":{"rendered":"<p align=\"left\">The other night I was asked on Twitter by Todd McDonald (Twitter), for a build list for SQL Server 2005 and 2008.\u00a0 My initial response was to provide a link to the <a href=\"http:\/\/sqlserverbuilds.blogspot.com\/\" target=\"_blank\">SQL Server Build List Blog<\/a>, which documents all of the builds of SQL Server and provides links to the KB articles associated with the builds.\u00a0 However, this wasn\u2019t what Todd was after, he actually wanted a reference for an installation checklist for SQL Server.\u00a0 I have a number of these that I use in my job, and they vary based on the server being configured.\u00a0 I use an Excel spreadsheet as a pre-production use Audit sheet to ensure that all of the critical steps have been performed, and that the server meets the minimum standard configuration I have for SQL Server.<\/p>\n<p align=\"left\">Since I have never actually blogged my lists, but I have shared them by email with people requesting them in the past, I jumped over to Brent Ozar\u2019s (<a href=\"https:\/\/www.brentozar.com\/\" target=\"_blank\">Blog<\/a>\/<a href=\"https:\/\/mobile.twitter.com\/brento\" target=\"_blank\">Twitter<\/a>) blog, because this is just the kind of thing that Brent would have blogged at some point and did a quick search for Checklist and sure enough Brent had a <a href=\"https:\/\/www.brentozar.com\/archive\/2008\/03\/sql-server-2005-setup-checklist-part-1-before-the-install\/\" target=\"_blank\">Pre-Installation Checklist<\/a> as well as a <a href=\"https:\/\/www.brentozar.com\/archive\/2008\/03\/sql-server-2005-setup-checklist-part-2-after-the-install\/\" target=\"_blank\">Post-Installation Checklist<\/a> for SQL Server 2005.\u00a0 My personal installation\/configuration steps differ slightly from Brent\u2019s but for someone looking for a checklist to follow, Brent\u2019s two posts are great references.<\/p>\n<p align=\"left\">My own checklist has been shaped by personal experiences as well as the methods used by the Server Administrators at my previous jobs.\u00a0 I like to have a cookie cutter installation for all of my SQL Servers, where things are, to the extent possible, identical for all of the servers in my environment.\u00a0 This starts off with the installation of the Operating System, and continues on through the installation, and subsequent post installation configuration of SQL Server.\u00a0 I have had the luxury of having really good mentors along my path to becoming a Sr. DBA on both the Windows and SQL Server sides of administration.\u00a0 It doesn\u2019t matter if I am installing SQL Server on a VM or a physical server, the end configuration is generally identical.<\/p>\n<p align=\"left\"><strong>Windows OS Installation<\/strong><\/p>\n<ol>\n<li>\n<div align=\"left\">All drives partition aligned.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Hyper threading enabled\u00a0in the Bios.<\/div>\n<\/li>\n<li>\n<div align=\"left\">OS and installed applications drive use RAID 1 and use NTFS with default Allocation Unit Size.<\/div>\n<\/li>\n<li>\n<div align=\"left\">OS installed to C Drive.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Domain Administrators group added to the Local Administrators group.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Account Policies enforced by GPO or set explicitly.<\/div>\n<ol>\n<li>\n<div align=\"left\">Password Policy<\/div>\n<ol>\n<li>\n<div align=\"left\">Enforce password history = Last 10<\/div>\n<\/li>\n<li>\n<div align=\"left\">Maximum password age = 90 days<\/div>\n<\/li>\n<li>\n<div align=\"left\">Minimum password age = 7 days<\/div>\n<\/li>\n<li>\n<div align=\"left\">Minimum password length = 8<\/div>\n<\/li>\n<li>\n<div align=\"left\">Password must meet complexity requirements = Enabled<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Account Lockout Policy<\/div>\n<ol>\n<li>\n<div align=\"left\">Account lockout threshold = 5 invalid login attempts<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Local Policies enforced by GPO or set explicitly.<\/div>\n<ol>\n<li>\n<div align=\"left\">Audit Policy set to audit Success and Failure of<\/div>\n<ol>\n<li>\n<div align=\"left\">Audit account logon events<\/div>\n<\/li>\n<li>\n<div align=\"left\">Audit account management<\/div>\n<\/li>\n<li>\n<div align=\"left\">Audit logon events<\/div>\n<\/li>\n<li>\n<div align=\"left\">Audit policy change<\/div>\n<\/li>\n<li>\n<div align=\"left\">Audit system events<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Security Options<\/div>\n<ol>\n<li>\n<div align=\"left\">Interactive logon: Do not display last user name \u2013 Enabled<\/div>\n<\/li>\n<li>\n<div align=\"left\">Interactive logon: Message text for users attempting to log on \u2013 Set to Legal Disclaimer for access to production servers<\/div>\n<\/li>\n<li>\n<div align=\"left\">Interactive logon: Message title for users attempting to log on \u2013 Set to Legal Message Titled for access to production servers.<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Everyone User removed from non-C drives.<\/div>\n<\/li>\n<li>\n<div align=\"left\">All applications installed to D Drive and not C Drive.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Windows Updates configured to download but not install.<\/div>\n<\/li>\n<li>\n<div align=\"left\">NIC\u2019s configured as teamed (if appropriate), set to Full Duplex and maximum network speed (usually 1GB).<\/div>\n<\/li>\n<li>\n<div align=\"left\">Validate IO Subsystem configuration is optimal using SQLIO and test alternate configurations to determine optimum configuration for SQL.<\/div>\n<\/li>\n<li>\n<div align=\"left\">If using SAN Storage test HBA Queue Depth settings at 64 and 128 in conjunction with SAN admin to determine the optimal setting for the server based on IO demands and impact to other systems using the SAN, ensure that MPIO is configured properly.\u00a0 (Going to high on the SQL Server can allow it to dominate the SAN, reducing performance of other systems using SAN storage on different disk arrays)<\/div>\n<\/li>\n<li>\n<div align=\"left\">Anti-Virus Software installed and configured to update from root server.<\/div>\n<\/li>\n<li>\n<div align=\"left\">System Added to SCOM for monitoring.<\/div>\n<\/li>\n<\/ol>\n<p align=\"left\"><strong>Pre-Installation of SQL Server<\/strong><\/p>\n<ol>\n<li>\n<div align=\"left\">Separate RAID Arrays for Data and Log files.\u00a0 Tempdb on dedicated array.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Data, Log, and Tempdb drives formatted with 64K Allocation Unit Size.<\/div>\n<\/li>\n<li>\n<div align=\"left\">SQL Server Admins Group added to the Local Administrators Group.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Create AD Service User Account, or Local User Account for non-domain servers, with no permissions.<\/div>\n<ol>\n<li>\n<div align=\"left\">Add the <strong>readServicePrincipalName<\/strong> and <strong>writeServicePrincipalName<\/strong> permissions to the Service Account in AD (<a title=\"http:\/\/support.microsoft.com\/kb\/319723\" href=\"https:\/\/support.microsoft.com\/kb\/319723\">http:\/\/support.microsoft.com\/kb\/319723<\/a>)<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Configure the Data drive with Drive letter E in Windows.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Configure the Log drive with Drive letter L in Windows.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Configure the TempDB drive with Drive letter T in Windows.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Configure additional Data drives with Drive letter F, G, etc. skipping previously reserved Drive letters and M (cluster MSDTC) and Q (cluster Quorum).<\/div>\n<\/li>\n<li>\n<div align=\"left\">Add the AD Service User Account to the Root path with Full Control of D, and List Folder Contents Permissions for Data, Log and Tempdb Drives.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Create SQLData folder on Data and Tempdb Drives<\/div>\n<\/li>\n<li>\n<div align=\"left\">Add the AD Service User Account with Full Control of SQLData folder on Data and Tempdb Drives<\/div>\n<\/li>\n<li>\n<div align=\"left\">Create SQLLogs folder on Log Drive<\/div>\n<\/li>\n<li>\n<div align=\"left\">Add the AD Service User Account with Full Control of SQLLogs folder on Log Drive<\/div>\n<\/li>\n<\/ol>\n<p><strong>SQL Server Installation<\/strong><\/p>\n<ol>\n<li>\n<div align=\"left\">Use the previously configured Service Account as the startup account for the SQL Service.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Install the binaries to the D Drive.<\/div>\n<\/li>\n<li>\n<div align=\"left\">If installing SQL Server 2008 set the default file paths according to the previous drive configuration.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Set SQL Server, and SQL Agent to startup Automatically.\u00a0 Disable the Browser Service unless installing Named Instances or multiple instances on the Server.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Apply latest Service Pack and Cumulative Update based on SQL Server version.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Provision SQL Admins group in the sysadmin fixed server role.<\/div>\n<\/li>\n<\/ol>\n<p align=\"left\"><strong>Post-Installation Steps<\/strong><\/p>\n<ol>\n<li>\n<div align=\"left\">Add the SQLServerMSSQLUser$&lt;ServerName&gt;$&lt;InstanceName&gt; group to the Root path with Full Control of D, and List Folder Contents Permissions for Data, Log and Tempdb Drives.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Add the SQLServerMSSQLUser$&lt;ServerName&gt;$&lt;InstanceName&gt; group with Full Control of SQLData folder on Data and Tempdb Drives.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Add the SQLServerMSSQLUser$&lt;ServerName&gt;$&lt;InstanceName&gt; group with Full Control of SQLLogs folder on Log Drive.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Remove the AD Service User Account from the Root Path. (This decouples the Service Account explicitly and relys on the group)<\/div>\n<\/li>\n<li>\n<div align=\"left\">Add the SQLServerMSSQLUser$&lt;ServerName&gt;$&lt;InstanceName&gt;, SQLServerSQLAgentUser$&lt;ServerName&gt;$&lt;InstanceName&gt;, or other group accounts to any Backup, or processing folders as needed.<\/div>\n<\/li>\n<li>\n<div align=\"left\">In the Local Security Policy, add the SQLServerMSSQLUser$&lt;ServerName&gt;$&lt;InstanceName&gt; group to the Perform Volume Maintenance Tasks and Lock Pages in Memory objects.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Exclude Data, Log, Tempdb, any Backup file paths, and the SQL Server Binaries folders from AntiVirus Scans.<\/div>\n<\/li>\n<li>Remove Builtin\\Admins from sysadmin fixed server role.<\/li>\n<li>Enable Failed Login Auditing in the SQL Server Security Settings<\/li>\n<li>Enable TCP\/IP and change default port from 1433.<\/li>\n<li>Enable remote DAC connections.<\/li>\n<li>Enable as required xp_cmdshell, SQLCLR, and OLE Automation for the SQL Server Instance.\n<ol>\n<li>Configure xp_cmdshell proxy account as required.<\/li>\n<\/ol>\n<\/li>\n<li>Enable DatabaseMail and configure default public and private accounts.<\/li>\n<li>Configure SQL Error Log retention for 30 log files<\/li>\n<li>Configure SQL Agent job to perform nightly log rollover.<\/li>\n<li>Configure SQL Agent jobs for database backups, CHECKDB, index maintenance, statistics updates, backup cleanup, and history cleanup.<\/li>\n<li>\n<div align=\"left\">Move MSDB Database files to SQLData and SQLLogs respectively.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Reconfigure Tempdb with data files equal to 1\/2-1\/4 the physical CPU\u2019s on the server based on load characteristics.\u00a0 Set data files to the same size based on load characteristics in 4096MB increments for Datafiles, and 1024MB increments for Log files.\u00a0 Set AutoGrowth to 1024MB for data files and 512MB for Log file.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Enable Trace Flag 1118 on SQL Server 2000 and SQL Server 2005 for Tempdb.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Set Model database to SIMPLE recovery, 2048MB default datafile size and 1024MB default logfile size.\u00a0 Set AutoGrowth to 1024MB for data files and 512MB for Log file.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Set Max Server Memory based on installed RAM and installation type (Newer Servers are all 64bit, but enable AWE as needed on 32 bit servers).<\/div>\n<ol>\n<li>\n<div align=\"left\">8GB RAM = 6144 Max Server Memory<\/div>\n<\/li>\n<li>\n<div align=\"left\">16GB RAM = 12228 Max Server Memory<\/div>\n<\/li>\n<li>\n<div align=\"left\">32GB RAM = 28672 Max Server Memory<\/div>\n<\/li>\n<li>\n<div align=\"left\">These are base values that will later be adjusted based on the Memory\\Available MBytes counter being &gt; 150 on the Server.<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Set <strong>max degree of parallelism <\/strong>sp_configure option based on the number of physical CPU cores installed and anticipated workload<\/div>\n<ol>\n<li>\n<div align=\"left\">For OLTP, generally set to 1\/2 or 1\/4 of the physical cores available on the server.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Adjusted up or down based on wait stats and load.<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div align=\"left\">Set <strong>cost threshold of parallelism<\/strong> sp_configure option based on the anticipated load.<\/div>\n<ol>\n<li>\n<div align=\"left\">General default value of 5 is low for most OLTP workloads and should be increased.<\/div>\n<\/li>\n<li>\n<div align=\"left\">Base value of 20-25 used for most server installs.<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>Add AD login (standard for environment and locked out in AD by default) for patching and emergency server access to Local Administrators Group.<\/li>\n<li>Set SA user password to standardized password that is changed quarterly on all servers and maintained in password safe.<\/li>\n<li>Have Server Team remove SQL Admins from Local Administrators Group. ( Not yet implemented in my environment but coming very soon! )<\/li>\n<\/ol>\n<p>As you can see there are a number of steps involved in provisioning a new SQL Server.\u00a0 Checklists such as this one ensure that all of the require steps have been accomplished and ensure that the servers are configured identically.\u00a0\u00a0 This simplifies documentation and management of the systems in the environment.\u00a0 If you read Brent\u2019s blog posts, you will notice that there are steps included in his checklist, such as setting up alerts for critical errors, that aren\u2019t in my own list.\u00a0\u00a0 The reason for this is that we use SCOM for monitoring, and have built custom Rules into SCOM that capture these errors and generate alerts through SCOM for those events.\u00a0 This simplifies the configuration of individual servers since the rules are standard for all SQL Servers managed by SCOM.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The other night I was asked on Twitter by Todd McDonald (Twitter), for a build list for SQL Server 2005 and 2008.\u00a0 My initial response was to provide a link to the SQL Server Build List Blog, which documents all of the builds of SQL Server and provides links to the KB articles associated with [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-1619","post","type-post","status-publish","format-standard","hentry","category-database-administration"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL Server Installation Checklist - Jonathan Kehayias<\/title>\n<meta name=\"description\" content=\"SQL Server Installation Checklist for new server configuration and auditing existing server configurations based on established best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server Installation Checklist - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"SQL Server Installation Checklist for new server configuration and auditing existing server configurations based on established best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2010-03-22T15:31:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T17:06:04+00:00\" \/>\n<meta name=\"author\" content=\"Jonathan Kehayias\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Kehayias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"SQL Server Installation Checklist\",\"datePublished\":\"2010-03-22T15:31:02+00:00\",\"dateModified\":\"2017-04-13T17:06:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/\"},\"wordCount\":1642,\"commentCount\":8,\"articleSection\":[\"Database Administration\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/\",\"name\":\"SQL Server Installation Checklist - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"datePublished\":\"2010-03-22T15:31:02+00:00\",\"dateModified\":\"2017-04-13T17:06:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"description\":\"SQL Server Installation Checklist for new server configuration and auditing existing server configurations based on established best practices.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/sql-server-installation-checklist\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Database Administration\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/database-administration\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SQL Server Installation Checklist\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\",\"name\":\"Jonathan Kehayias - The Rambling DBA\",\"description\":\"The Rambling DBA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\",\"name\":\"Jonathan Kehayias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"caption\":\"Jonathan Kehayias\"},\"sameAs\":[\"http:\\\/\\\/3.209.169.194\\\/blogs\\\/jonathan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL Server Installation Checklist - Jonathan Kehayias","description":"SQL Server Installation Checklist for new server configuration and auditing existing server configurations based on established best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server Installation Checklist - Jonathan Kehayias","og_description":"SQL Server Installation Checklist for new server configuration and auditing existing server configurations based on established best practices.","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/","og_site_name":"Jonathan Kehayias","article_published_time":"2010-03-22T15:31:02+00:00","article_modified_time":"2017-04-13T17:06:04+00:00","author":"Jonathan Kehayias","twitter_misc":{"Written by":"Jonathan Kehayias","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"SQL Server Installation Checklist","datePublished":"2010-03-22T15:31:02+00:00","dateModified":"2017-04-13T17:06:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/"},"wordCount":1642,"commentCount":8,"articleSection":["Database Administration"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/","name":"SQL Server Installation Checklist - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"datePublished":"2010-03-22T15:31:02+00:00","dateModified":"2017-04-13T17:06:04+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"description":"SQL Server Installation Checklist for new server configuration and auditing existing server configurations based on established best practices.","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/sql-server-installation-checklist\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Database Administration","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/database-administration\/"},{"@type":"ListItem","position":3,"name":"SQL Server Installation Checklist"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/","name":"Jonathan Kehayias - The Rambling DBA","description":"The Rambling DBA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c","name":"Jonathan Kehayias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","caption":"Jonathan Kehayias"},"sameAs":["http:\/\/3.209.169.194\/blogs\/jonathan"]}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/1619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/comments?post=1619"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/1619\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=1619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=1619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=1619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}