Resolving Error "FILESTREAM Feature is Disabled" During SQL Server VDB Provision (KBA8181)
KBA
KBA# 8181
Issue
During a VDB provision the following error may be encountered, resulting in the job failing:
Provision virtual database "examplevdb". Error Recovery failed for virtual database "examplevdb" Error Code exception.db.mssqlvdb.vdb.restore.failed Suggested Action Make sure that the SQL Server instance "SQL2016" on the target host "windowshost#" is up and that the user "hostuser#" has privileges to restore a database on the host. Command Output <Truncated> d----- 10/11/2021 5:13 PM _delphix Changed database context to 'master'. Msg 5591, Level 16, State 3, Server windowshost#\SQL2016, Line 2 FILESTREAM feature is disabled. die : Error: Failed to create seed database. At C:\Program Files\Delphix\DelphixConnector\564da570-d68d-1234-4321-abcde1234db8-vdb-19\SCRIPT\CreateSeedDB.ps1:101 char:5 + die "Failed to create seed database." + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,die die : Error: create_seed_vdb failed At C:\Program Files\Delphix\DelphixConnector\564da570-d68d-1234-4321-abcde1234db8-vdb-19\SCRIPT\Provision.ps1:26 char:9 + die "$($args[0])" + ~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,die
Another possible side-effect message, when Delphix disables the failed VDB is:
Disable dataset "examplevdb". Error For virtual database "examplevdb", the file(s) ["C:\Program Files\Delphix\DelphixConnector\564da570-d68d-1234-4321-abcde1234db8-vdb-19\DATA\_delphix\examplevdbdata.mdf,C:\Program Files\Delphix\DelphixConnector\564da570-d68d-1234-4321-abcde1234db8-vdb-19\DATA\_delphix\examplevdblog1.ldf"] are not in any of the mounted Delphix filesystems [C:\Program Files\Delphix\DelphixConnector\564da570-d68d-1234-4321-abcde1234db8-vdb-19\DATA\db\]. Error Code exception.db.mssqlvdb.vdb.files_out Suggested Action Move the file(s) to one of the mounted Delphix filesystem and try the operation again.
Applicable Delphix Versions
- Click here to view the versions of the Delphix engine to which this article applies
-
Major Release All Sub Releases 6.0 6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1 5.3
5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0, 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0 5.2
5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1
5.1
5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0
5.0
5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1, 5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4
Resolution
The problem occurs because the source database is a FILESTREAM configured database. To check if this is the case, open the SQL Server Configuration Manager on your Source SQL Server Host. Select the source instance, right click, and then select Properties.
Here you see most FILESTREAM properties enabled.
The instance allows the creation of FILESTREAM databases with syntax similar to the following, including an example of a table utilizing the feature capabilities:
CREATE DATABASE fstest ON PRIMARY ( NAME = fstest1, FILENAME = 'c:\data\fstestdata.mdf'), FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = fstest3, FILENAME = 'c:\data\filestream1') LOG ON ( NAME = fstestlog1, FILENAME = 'c:\data\fstestlog1.ldf') GO -- table CREATE TABLE fstest.dbo.Records ( [Id] [uniqueidentifier] ROWGUIDCOL NOT NULL UNIQUE, [SerialNumber] INTEGER UNIQUE, [Chart] VARBINARY(MAX) FILESTREAM NULL ) GO -- inserts INSERT INTO fstest.dbo.Records VALUES (newid (), 1, NULL); GO INSERT INTO fstest.dbo.Records VALUES (newid (), 2, CAST ('' as varbinary(max))); GO INSERT INTO fstest.dbo.Records VALUES (newid (), 3, CAST ('Seismic Data' as varbinary(max))); GO
If a dSource exists for this database, then the feature is already enabled on the Staging SQL Server instance. Check the Target SQL Server Instance to ensure this feature is enabled, or you will receive the message when attempting to provision a VDB.
Once configured, a prompt will appear asking to restart the SQL Server instance. If not prompted, restart the instance so the feature will be enabled for use.
Troubleshooting
Look for the this message in the error details you receive when the failure occurs:
FILESTREAM feature is disabled.
If this is present, chances are the FILESTREAM feature is not enabled on the instance.
Related Articles
The following articles may provide more information or related information to this article:
- Microsoft article Enable and configure FILESTREAM