{"id":490,"date":"2012-03-20T01:32:25","date_gmt":"2012-03-20T01:32:25","guid":{"rendered":"\/blogs\/jonathan\/post\/Failover-Clustering-without-a-SAN-SQL-Server-2012-and-SMB-for-Shared-Storage.aspx"},"modified":"2017-04-13T14:41:04","modified_gmt":"2017-04-13T18:41:04","slug":"failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/","title":{"rendered":"SQL Failover Cluster without Shared Storage &#8211; SQL Server 2012 and SMB"},"content":{"rendered":"<p>While teaching last week at our Tampa Immersion Event, I mentioned the support for SMB as a storage in SQL Server 2012, which is allows you to create a Failover Cluster without shared storage on a SAN, and is documented in the following Books Online topics.<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/database-engine\/install-windows\/install-sql-server-with-smb-fileshare-as-a-storage-option\" target=\"_blank\">Install SQL Server with SMB fileshare as a storage option<\/a><br \/>\n<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/sql-server\/install\/hardware-and-software-requirements-for-installing-sql-server\" target=\"_blank\">Hardware and Software Requirements for Installing SQL Server 2012 : Storage Types for Data Files<\/a><\/p>\n<p>Someone asked the question about whether SMB could be used for the shared storage for a failover cluster in SQL Server 2012, and I had to go do a little research, but I found that it was a supported configuration.<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/sql-server\/failover-clusters\/windows\/always-on-failover-cluster-instances-sql-server\" target=\"_blank\">AlwaysOn Failover Cluster Instances (SQL Server)<\/a><br \/>\n<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/sql-server\/failover-clusters\/install\/before-installing-failover-clustering\" target=\"_blank\">Before Installing Failover Clustering<\/a><\/p>\n<p>Last year, Kevin Farlee from the Storage Engine Team blogged about the changes in the SMB stack that make hosting SQL Server databases over SMB 2.2 a feasible prospect in his blog post <a href=\"https:\/\/blogs.msdn.microsoft.com\/sqlserverstorageengine\/2011\/10\/18\/sql-databases-on-file-shares-its-time-to-reconsider-the-scenario\/\" target=\"_blank\">SQL Databases on File Shares &#8211; It&#8217;s time to reconsider the scenario.<\/a>\u00a0 Additionally the SQLCAT team, actually Kevin Cox specifically, blogged about the use of SMB for hosting database files in the <a href=\"https:\/\/blogs.msdn.microsoft.com\/sqlcat\/\" target=\"_blank\">Top 10 Hidden Gems in SQL Server 2008R2<\/a> post.\u00a0 Now that this is a viable alternative to expensive SAN\u2019s it is not surprising to see that it is also a viable storage option for SQL Server Failover Clustering in SQL Server 2012.<\/p>\n<p>(<strong>Note<\/strong>: SAN infrastructures provide a lot of additional benefits that a single server hosting a file share doesn\u2019t, so before you run out and place a mission critical SQL Server database on a SMB file share, make sure that you understand the implications of doing so, and the trade offs that you are making in the process.)<\/p>\n<h1>Building the Failover Cluster in Windows<\/h1>\n<p>Building the Failover Cluster in Windows is essentially the same as building a standard Failover Cluster for SQL Server, with the exception that you have to skip the Disk checks in the Cluster Validation Tool, and then override the failed checks to actually form the cluster.\u00a0 To do this, select the option to<strong> Run only tests I select<\/strong> on the <strong>Validate a Configuration Wizard.<\/strong><\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/7213f8b7\/image.png\"><img fetchpriority=\"high\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png\" width=\"644\" height=\"449\" border=\"0\" \/><\/a><\/p>\n<p>Then collapse all of the parent nodes in the treeview and uncheck the Storage checks and run the cluster validation.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/6e462e1a\/image.png\"><img decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/05fd6581\/image_thumb.png\" width=\"644\" height=\"450\" border=\"0\" \/><\/a><\/p>\n<p>When the validation tests complete, review the report and make sure that you have a supported configuration for failover clustering.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/590802a5\/image.png\"><img decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/62ecf410\/image_thumb.png\" width=\"644\" height=\"324\" border=\"0\" \/><\/a><\/p>\n<p>Then click the No option on the Validation Warning page and create the cluster by providing a Cluster Name and IP Address.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/7ce0b432\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/468f8c23\/image_thumb.png\" width=\"644\" height=\"430\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/39490310\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/49e0fdfe\/image_thumb.png\" width=\"644\" height=\"429\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/2ec82ef0\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/5f7b369b\/image_thumb.png\" width=\"644\" height=\"429\" border=\"0\" \/><\/a><\/p>\n<h1>Configuring the File Share for Failover Clustering Support<\/h1>\n<p>The first step in setting up a Failover Cluster instance for SQL Server that uses SMB for its shared storage is to configure the File Share server to support the clustered instance being able to connect to it with the appropriate permissions to manage the SQL Server databases.\u00a0 Since there is no shared storage in the environment, there is an additional requirement, if you are using a 2 node Failover Cluster, that the File Share will need to be the witness in the quorum configuration using Node and File Share Majority.\u00a0 The requirements for this are documented in the Exchange Books Online (I tried to find a SQL Server Books Online or Windows Server Failover Clustering Books Online entry that provided the correct details and couldn\u2019t) <a href=\"https:\/\/technet.microsoft.com\/en-us\/library\/bb676490(EXCHG.80).aspx\">http:\/\/technet.microsoft.com\/en-us\/library\/bb676490(EXCHG.80).aspx<\/a>.\u00a0 Essentially, you need to have a separate File Share for the quorum, and a separate File Share for the SQL Server instance to use for data storage.<\/p>\n<p><strong>Note<\/strong>: I didn\u2019t initially set my environment up this way, and due to the time it took to create the screenshots for this blog post before filling in the text, I chose to not go back and correct this error, but as a best practice, you should have separate shares for the quorum and SQL Server instance installation if you choose to use SMB for a failover cluster.\u00a0 This is documented in the Windows Server Failover Clustering Books Online. <a href=\"https:\/\/technet.microsoft.com\/en-us\/library\/cc770620(WS.10).aspx\">http:\/\/technet.microsoft.com\/en-us\/library\/cc770620(WS.10).aspx<\/a><\/p>\n<p>The first thing you want to do is Provision a new Share using the Provision Share context menu item from the Share and Storage Management node on the File Server.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/5dca6ac7\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/7ca0dea5\/image_thumb.png\" width=\"347\" height=\"176\" border=\"0\" \/><\/a><\/p>\n<p>Then you need to provide a path for the storage of the share.\u00a0 If you are actually setting this up, perform all these steps twice to create two separate shares with the necessary permissions.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/1b775284\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/00cab66b\/image_thumb.png\" width=\"604\" height=\"484\" border=\"0\" \/><\/a><\/p>\n<p>Then you want to manually edit the NTFS Permissions for the File Share being created.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/0cec3092\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/723f9478\/image_thumb.png\" width=\"604\" height=\"484\" border=\"0\" \/><\/a><\/p>\n<p>For the Quorum Share, you need to provide the Failover Cluster Virtual Computer Object (VCO) account Full Control of the Share in NTFS.\u00a0 The VCO is the ClusterName followed by a $ in Active Directory, and you will need to click the Objects button to add in the Computers object for the search to find the account.\u00a0 For the installation share, the SQL Server Service Account will require Full Control permissions in NTFS.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/103da26d\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/13035760\/image_thumb.png\" width=\"371\" height=\"447\" border=\"0\" \/><\/a><\/p>\n<p>The next step is to provide a name for the File Share(s) that you are creating which will be the path to the share for configuring your quorum and then your Failover Cluster installation.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/06953437\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/2c1eb198\/image_thumb.png\" width=\"604\" height=\"484\" border=\"0\" \/><\/a><\/p>\n<p>I am skipping over the SMB Settings window and going to the SMB Permissions where you will need to customize the share permissions for the specific Users that need to access the share to minimize security issues in the environment.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/5bf95359\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/6167c3fd\/image_thumb.png\" width=\"604\" height=\"484\" border=\"0\" \/><\/a><\/p>\n<p>Just like with NTFS, for the Quorum Share, you need to provide the Failover Cluster Virtual Computer Object (VCO) account Full Control of the Share.\u00a0 For the installation share, the SQL Server Service Account will require Full Control permissions over the Share.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/315d727c\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/5033e65a\/image_thumb.png\" width=\"371\" height=\"447\" border=\"0\" \/><\/a><\/p>\n<p>Then create the share and you are ready to configure the quorum settings for the failover cluster.<\/p>\n<h1>Configuring Quorum Settings<\/h1>\n<p>To configure the Node and File Share Majority quorum for the cluster, required only if you have an even number of voters in the configuration which is typical for 2 node clusters, click the <strong>Configure Cluster Quorum Settings<\/strong> menu item from the failover clusters context menu.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/03fbdcac\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/66a684e1\/image_thumb.png\" width=\"593\" height=\"376\" border=\"0\" \/><\/a><\/p>\n<p>Pick the <strong>Node and File Share Majority<\/strong> radio button.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/32fe1883\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/3f8bc59f\/image_thumb.png\" width=\"644\" height=\"449\" border=\"0\" \/><\/a><\/p>\n<p>Then Browse for the shared folder and type in the name of the File Server that is hosting the SMB share for the quorum.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/0f154129\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/3bbdfb02\/image_thumb.png\" width=\"402\" height=\"402\" border=\"0\" \/><\/a><\/p>\n<p>If all the permissions are configured correctly, you will have a successful configuration of the quorum in the environment.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/5a946ee0\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/0b47768c\/image_thumb.png\" width=\"644\" height=\"449\" border=\"0\" \/><\/a><\/p>\n<h1>Installing the Failover Cluster Nodes<\/h1>\n<p>For the interests of brevity, I am going to skip showing all of the standard Failover Cluster installation setup screens and only show the ones that matter for the configuration using SMB as the shared storage.\u00a0 For the instance features in this blog post, the Database Engine, Client Connectivity, Client Connectivity Backwards Compatibility, and Management Tools have been selected for a minimum install in the environment.\u00a0\u00a0 Everything is exactly the same as it would be in a standard SQL Server Failover Clustered instance installation until you get to the <strong>Cluster Disk Selection<\/strong> page of the installation.\u00a0 Here there will be nothing shown in the environment, and what is interesting in comparison to SQL Server 2008R2 and previous is that you still have the option to click <strong>Next<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/702ea77d\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/2794b8ac\/image_thumb.png\" width=\"644\" height=\"448\" border=\"0\" \/><\/a><\/p>\n<p>The next page of interest is the the <strong>Database Engine Configuration<\/strong> page, where you will provide the UNC path to the SMB share for the <strong>Data root directory<\/strong>, and if you have multiple shares that target different physical disk arrays in the File Server for the instance you could also specify those UNC paths to achieve physical isolation of the I\/O for logs, data files, tempdb and backups following best practices.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/576f5a6d\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/6fb24ebb\/image_thumb.png\" width=\"644\" height=\"448\" border=\"0\" \/><\/a><\/p>\n<p>Notice the warnings about the file server being specified as the data directory.\u00a0 If you double click on one of the warnings it will produce a dialog box similar to the following box.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/381c8dcd\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/56f301ab\/image_thumb.png\" width=\"613\" height=\"159\" border=\"0\" \/><\/a><\/p>\n<p>If you don\u2019t get the warnings, don\u2019t worry, you will still get the above warning dialog box as soon as you click <strong>Next<\/strong> on the page.<\/p>\n<p>After this last warning Setup will proceed as normal only it will install into the File Share everything that would have been on the shared disk in a standard configuration with a SAN.\u00a0 Once the first node is setup, you can then proceed to run setup on the additional nodes and they will work just like a standard failover cluster configuration would against a SAN.<\/p>\n<h1>Summary<\/h1>\n<p>Once all of the setup completes, you can validate the location of the database files using the sys.master_files DMV in SQL Server.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/3b2e3a64\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/47bbe780\/image_thumb.png\" width=\"672\" height=\"307\" border=\"0\" \/><\/a><\/p>\n<p>The SMB storage option lets you get past the 25 instance limitation for SQL Server when using shared disks with drive letters assigned, since each instance requires a separate drive letter.\u00a0 Using SMB up to 50 instances can be installed in a failover cluster, which provides a significant increase in the number of instances you can get over using a SAN.\u00a0 The improvements in the SMB stack make this a much more viable solution to expensive shared storage implementations using SAN hardware, but as I pointed out earlier, there are still considerations that should be made about the level of redundancy and other benefits that are provided by SAN implementations before you determine that a SMB solution for shared storage in a failover cluster is appropriate for your specific environment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While teaching last week at our Tampa Immersion Event, I mentioned the support for SMB as a storage in SQL Server 2012, which is allows you to create a Failover Cluster without shared storage on a SAN, and is documented in the following Books Online topics. Install SQL Server with SMB fileshare as a storage [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,19,24,37,39],"tags":[],"class_list":["post-490","post","type-post","status-publish","format-standard","hentry","category-building-a-test-environment","category-database-administration","category-failover-clustering","category-smb","category-sql-server-2012"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL Failover Cluster without Shared Storage - SQL Server 2012 and SMB - Jonathan Kehayias<\/title>\n<meta name=\"description\" content=\"This post shows how to setup a SQL Server Failover Cluster without shared storage on a SAN by using SMB as an alternative in SQL Server 2012.\" \/>\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\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Failover Cluster without Shared Storage - SQL Server 2012 and SMB - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"This post shows how to setup a SQL Server Failover Cluster without shared storage on a SAN by using SMB as an alternative in SQL Server 2012.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2012-03-20T01:32:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T18:41:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png\" \/>\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\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"SQL Failover Cluster without Shared Storage &#8211; SQL Server 2012 and SMB\",\"datePublished\":\"2012-03-20T01:32:25+00:00\",\"dateModified\":\"2017-04-13T18:41:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/\"},\"wordCount\":1551,\"commentCount\":27,\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/sql-server-2012-failover-clustering-with\\\/70632ce3\\\/image_thumb.png\",\"articleSection\":[\"Building a Test Environment\",\"Database Administration\",\"Failover Clustering\",\"SMB\",\"SQL Server 2012\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/\",\"name\":\"SQL Failover Cluster without Shared Storage - SQL Server 2012 and SMB - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/sql-server-2012-failover-clustering-with\\\/70632ce3\\\/image_thumb.png\",\"datePublished\":\"2012-03-20T01:32:25+00:00\",\"dateModified\":\"2017-04-13T18:41:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"description\":\"This post shows how to setup a SQL Server Failover Cluster without shared storage on a SAN by using SMB as an alternative in SQL Server 2012.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/sql-server-2012-failover-clustering-with\\\/70632ce3\\\/image_thumb.png\",\"contentUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/sql-server-2012-failover-clustering-with\\\/70632ce3\\\/image_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Test Environment\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/building-a-test-environment\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SQL Failover Cluster without Shared Storage &#8211; SQL Server 2012 and SMB\"}]},{\"@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 Failover Cluster without Shared Storage - SQL Server 2012 and SMB - Jonathan Kehayias","description":"This post shows how to setup a SQL Server Failover Cluster without shared storage on a SAN by using SMB as an alternative in SQL Server 2012.","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\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/","og_locale":"en_US","og_type":"article","og_title":"SQL Failover Cluster without Shared Storage - SQL Server 2012 and SMB - Jonathan Kehayias","og_description":"This post shows how to setup a SQL Server Failover Cluster without shared storage on a SAN by using SMB as an alternative in SQL Server 2012.","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/","og_site_name":"Jonathan Kehayias","article_published_time":"2012-03-20T01:32:25+00:00","article_modified_time":"2017-04-13T18:41:04+00:00","og_image":[{"url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png","type":"","width":"","height":""}],"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\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"SQL Failover Cluster without Shared Storage &#8211; SQL Server 2012 and SMB","datePublished":"2012-03-20T01:32:25+00:00","dateModified":"2017-04-13T18:41:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/"},"wordCount":1551,"commentCount":27,"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png","articleSection":["Building a Test Environment","Database Administration","Failover Clustering","SMB","SQL Server 2012"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/","name":"SQL Failover Cluster without Shared Storage - SQL Server 2012 and SMB - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png","datePublished":"2012-03-20T01:32:25+00:00","dateModified":"2017-04-13T18:41:04+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"description":"This post shows how to setup a SQL Server Failover Cluster without shared storage on a SAN by using SMB as an alternative in SQL Server 2012.","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#primaryimage","url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png","contentUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/sql-server-2012-failover-clustering-with\/70632ce3\/image_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Building a Test Environment","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/building-a-test-environment\/"},{"@type":"ListItem","position":3,"name":"SQL Failover Cluster without Shared Storage &#8211; SQL Server 2012 and SMB"}]},{"@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\/490","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=490"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/490\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}