{"id":47891,"date":"2026-10-15T14:11:29","date_gmt":"2026-10-15T12:11:29","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=47891"},"modified":"2026-10-15T14:11:31","modified_gmt":"2026-10-15T12:11:31","slug":"sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/","title":{"rendered":"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance"},"content":{"rendered":"\n<h2 id=\"h-contexte\" class=\"wp-block-heading\">Contexte<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A customer recently asked me to <strong>disable FileTable\/FileStream<\/strong> on their instance because the databases no longer use it, and to ensure that this is indeed the case.<br>The aim is to migrate to a new architecture without FileTable\/FileStream in a second time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Link to<a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/blob\/filetables-sql-server?view=sql-server-ver17\"> FileTable<\/a> and <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/blob\/filestream-sql-server?view=sql-server-ver17\">FileStream <\/a>if you need to know a bit more about these technologies<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The environment is in a high-availability (HA) configuration using AlwaysOn.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As this isn\u2019t something we do every day, here is a 9-step procedure to achieve this:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Check that there are no more FileTables<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Disable non-transactional access<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Check that non-transactional access is disabled<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Check the columns in the tables<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Identify FILESTREAM filegroups &amp; check FILESTREAM files<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Delete FILESTREAM containers &amp; the FILESTREAM filegroup<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Disable FILESTREAM on the SQL Server instance<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Disable FILESTREAM on the server<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp; Disable FILESTREAM on the other servers<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s get started!<\/p>\n\n\n\n<h2 id=\"h-step-1-checking-the-filetables\" class=\"wp-block-heading\">Step 1: Checking the FileTables<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s start with the first, fairly simple step, which is to check that there are no more FileTables <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT name,object_id,is_filetable FROM &lt;database&gt;.sys.tables WHERE is_filetable = 1;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"545\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png\" alt=\"\" class=\"wp-image-47892\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52-768x445.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52-300x174.png 300w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In this example, it is clear that there is no longer a FileTable in the tables of the two databases checked here.<\/p>\n\n\n\n<h2 id=\"h-step-2-disabling-non-transactional-access\" class=\"wp-block-heading\">Step 2: Disabling non-transactional access<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To ensure that no further data is sent to FileTable\/FileStream, we disable non-transactional access:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER DATABASE &lt;database&gt; SET FILESTREAM ( NON_TRANSACTED_ACCESS = OFF );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"488\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-53.png\" alt=\"\" class=\"wp-image-47893\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-53.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-53-300x156.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-53-767x398.png 767w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The next step is, of course, to check carefully that it is disabled.<\/p>\n\n\n\n<h2 id=\"h-step-3-check-that-non-transactional-access-is-disabled\" class=\"wp-block-heading\">Step 3: Check that non-transactional access is disabled<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT db_name(database_id),* FROM sys.database_filestream_options;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"939\" height=\"580\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-54.png\" alt=\"\" class=\"wp-image-47894\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-54.png 939w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-54-300x185.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-54-767x474.png 767w\" sizes=\"auto, (max-width: 939px) 100vw, 939px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As can be seen in the example, all databases are set to OFF<br><\/p>\n\n\n\n<h2 id=\"h-step-4-checking-the-columns-in-the-tables\" class=\"wp-block-heading\">Step 4: Checking the columns in the tables<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is a very important step, as it is the one I missed in my example by the customer&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In fact, in step 6, if there is still a column in a table that has a FileStream defined, it is not possible to delete the associated files and filegroups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM &lt;database&gt;.sys.columns WHERE is_filestream = 1;\nselect * from sys.objects where object_id= xxxx\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The first query returns the columns that contain FileStream data, and the second provides information about the table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You will then find a structure of the following type:<br>CREATE TABLE [schema].[table](<br>\u00a0[ID] [uniqueidentifier] ROWGUIDCOL\u00a0 NOT NULL,<br>&#8230;..<br>[FS] [varbinary](max) <strong>FILESTREAM\u00a0 <\/strong>NULL<br>) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] <strong>FILESTREAM_ON<\/strong> [FileStreamFileGroup]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can therefore see that there is indeed a FileStream that needs to be removed at column level, but also at table level with the FILESTREAM_ON [FileStreamFileGroup].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Initially, creating a new column with [FS2] [varbinary](max) NULL, copying the data and renaming it, seemed like a good idea but was not sufficient, as the table still had FILESTREAM_ON [FileStreamFileGroup].<br>To resolve this, you need to recreate a table, copy the data and add the keys, indexes and constraints.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then check everything again before proceeding to the next steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"368\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-55.png\" alt=\"\" class=\"wp-image-47895\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-55.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-55-766x300.png 766w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-55-300x117.png 300w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<h2 id=\"h-step-5-identify-filestream-filegroups-amp-check-filestream-files\" class=\"wp-block-heading\">Step 5:\u00a0 Identify FILESTREAM filegroups &amp; Check FILESTREAM files<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this step, the aim is to identify the FILESTREAM filegroups defined in the databases so that they can be deleted.<br><br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT name, type_desc FROM &lt;database&gt;.sys.filegroups WHERE type = 'FD';\nSELECT name,physical_name,type_desc FROM &lt;database&gt;.sys.database_files WHERE type_desc = 'FILESTREAM';\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"503\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-56.png\" alt=\"\" class=\"wp-image-47896\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-56.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-56-300x161.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-56-766x410.png 766w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As there are two databases in my example that have a FileStream, there are four lines.<\/p>\n\n\n\n<h2 id=\"h-step-6-delete-the-filestream-containers-and-the-filestream-filegroup\" class=\"wp-block-heading\">Step 6: Delete the FILESTREAM containers and the FILESTREAM FILEGROUP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once identified, delete them using the following command.<br>Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER DATABASE &#091;Database]  REMOVE FILE &#091;FileStreamFile]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"368\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-57.png\" alt=\"\" class=\"wp-image-47897\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-57.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-57-300x117.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-57-766x300.png 766w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<h2 id=\"h-step-7-disable-filestream-on-the-sql-server-instance\" class=\"wp-block-heading\">Step 7: Disable FILESTREAM on the SQL Server instance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At this point, we disable FILESTREAM at instance level.<br><br>Query used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>EXEC sp_configure 'filestream access level';\nGO\nEXEC sp_configure 'show advanced options', 1;\nRECONFIGURE;\nEXEC sp_configure 'filestream access level',0;\nGO\nRECONFIGURE;\nGO\nEXEC sp_configure 'show advanced options', 0;\nRECONFIGURE;\nGO\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"498\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-58.png\" alt=\"\" class=\"wp-image-47898\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-58.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-58-300x159.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-58-766x406.png 766w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As can be seen from the example, the `config_value` is indeed 0, but the `run_value` has changed to 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In such cases, as always, we\u2019ll check what the documentation says:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Valeur<\/strong><strong><\/strong><\/td><td><strong>Signification<\/strong><strong><\/strong><\/td><\/tr><tr><td><strong>0<\/strong><strong><\/strong><\/td><td>FILESTREAM is disabled. No FILESTREAM access is permitted. FILESTREAM columns cannot be used.<\/td><\/tr><tr><td><strong>1<\/strong><strong><\/strong><\/td><td>T-SQL access only. SQL Server allows access to FILESTREAM data via Transact-SQL statements (INSERT, UPDATE, SELECT). Access via the Windows file system is disabled.<\/td><\/tr><tr><td><strong>2<\/strong><strong><\/strong><\/td><td>T-SQL access + Win32 streaming. FILESTREAM data can be accessed both via T-SQL and via the Windows APIs (direct file access using FILESTREAM sharing). This is generally the setting used to take advantage of FILESTREAM\u2019s performance.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We are in T-SQL access only, it&#8217;s not really desactivated&#8230; Need a restart!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At this stage, we could also carry this out on the secondary node(s) of our AlwaysOn high availability cluster, but it is preferable to do it first on a single node and verify that it works.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now it is time to disable Filestream on the SQL Server Engine service.<br><br><\/p>\n\n\n\n<h2 id=\"h-step-8-disabling-filestream-on-the-server\" class=\"wp-block-heading\">Step 8: Disabling FileStream on the server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For this step, we have already performed a failover of the AAGs to a synchronous secondary node.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We launch SQL Server Configuration Manager to disable FileStream in the Engine properties by unticking the box, as shown in the example above:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"536\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-60.png\" alt=\"\" class=\"wp-image-47901\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-60.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-60-766x437.png 766w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-60-300x171.png 300w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then restart SQL Server and check that FileStream is disabled on the instance:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"536\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-59.png\" alt=\"\" class=\"wp-image-47900\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-59.png 940w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-59-300x171.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-59-766x437.png 766w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<h2 id=\"h-step-9-disabling-filestream-on-the-other-servers\" class=\"wp-block-heading\">Step 9: Disabling FileStream on the other servers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At this point, you will just need to repeat steps 7 and 8 on the other nodes in your AlwaysOn high-availability cluster.<\/p>\n\n\n\n<h2 id=\"h-conclusion\" class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The steps are not complex in themselves, but where you can lose time is in the step 4 if you have to recreate a table without the FileStream and copy all data from this table. I was happy to have only one with not so much rows&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All the steps up to the restart of the SQL Server Engine service in step 8 are carried out online without any service interruption or failover.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I hope these steps will help anyone facing a similar issue! \ud83d\ude09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Contexte A customer recently asked me to disable FileTable\/FileStream on their instance because the databases no longer use it, and to ensure that this is indeed the case.The aim is to migrate to a new architecture without FileTable\/FileStream in a second time. Link to FileTable and FileStream if you need to know a bit more [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[229,198,99],"tags":[49,51],"type_dbi":[2874],"class_list":["post-47891","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-database-management","category-sql-server","tag-microsoft","tag-sql-server","type-sql-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance - dbi Blog<\/title>\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.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance\" \/>\n<meta property=\"og:description\" content=\"Contexte A customer recently asked me to disable FileTable\/FileStream on their instance because the databases no longer use it, and to ensure that this is indeed the case.The aim is to migrate to a new architecture without FileTable\/FileStream in a second time. Link to FileTable and FileStream if you need to know a bit more [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-15T12:11:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-15T12:11:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png\" \/>\n\t<meta property=\"og:image:width\" content=\"940\" \/>\n\t<meta property=\"og:image:height\" content=\"545\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Haby\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Haby\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/\"},\"author\":{\"name\":\"St\u00e9phane Haby\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"headline\":\"SQL Server: Disabling FileTable\\\/FileStream on an AlwaysOn high-availability instance\",\"datePublished\":\"2026-10-15T12:11:29+00:00\",\"dateModified\":\"2026-10-15T12:11:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/\"},\"wordCount\":914,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/10\\\/image-52.png\",\"keywords\":[\"Microsoft\",\"SQL Server\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Database management\",\"SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/\",\"name\":\"SQL Server: Disabling FileTable\\\/FileStream on an AlwaysOn high-availability instance - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/10\\\/image-52.png\",\"datePublished\":\"2026-10-15T12:11:29+00:00\",\"dateModified\":\"2026-10-15T12:11:31+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/10\\\/image-52.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/10\\\/image-52.png\",\"width\":940,\"height\":545},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server: Disabling FileTable\\\/FileStream on an AlwaysOn high-availability instance\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \\\/ Financial Services, and many other industries.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/stephane-haby\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance - dbi Blog","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.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance","og_description":"Contexte A customer recently asked me to disable FileTable\/FileStream on their instance because the databases no longer use it, and to ensure that this is indeed the case.The aim is to migrate to a new architecture without FileTable\/FileStream in a second time. Link to FileTable and FileStream if you need to know a bit more [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/","og_site_name":"dbi Blog","article_published_time":"2026-10-15T12:11:29+00:00","article_modified_time":"2026-10-15T12:11:31+00:00","og_image":[{"width":940,"height":545,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png","type":"image\/png"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Haby","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/"},"author":{"name":"St\u00e9phane Haby","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"headline":"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance","datePublished":"2026-10-15T12:11:29+00:00","dateModified":"2026-10-15T12:11:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/"},"wordCount":914,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png","keywords":["Microsoft","SQL Server"],"articleSection":["Database Administration &amp; Monitoring","Database management","SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/","name":"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png","datePublished":"2026-10-15T12:11:29+00:00","dateModified":"2026-10-15T12:11:31+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/10\/image-52.png","width":940,"height":545},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-disabling-filetable-filestream-on-an-alwayson-high-availability-instance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Server: Disabling FileTable\/FileStream on an AlwaysOn high-availability instance"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \/ Financial Services, and many other industries.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/47891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=47891"}],"version-history":[{"count":3,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/47891\/revisions"}],"predecessor-version":[{"id":47903,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/47891\/revisions\/47903"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=47891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=47891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=47891"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=47891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}