I am currently in the process of moving one SharePoint farm to a brand new farm.
The reason for this is due to moving from Windows Server 2008 to Windows Server 2012 R2.
Recently I performed a backup of on the Windows server 2008 environment without being aware that Filestream was enabled. After the backup completed I then performed a restore on the new environment using PowerShell, I ran the following:
Restore-SPFarm -Directory \\file_server\share\Backup -BackupId 12345678-90ab-cdef-1234-567890abcdef -RestoreMethod new
The restore however has failed for two web applications that are both using Filestream\RBS. I am performing the restore using the farm account which is a sysadmin on the SQL Server, the account also has full control over the Filestream\RBS as does the SQL service account.
The error we get in the restore logs is:
[23/10/2019 12:58:51] Verbose: [WSS_Content_DB1] SQL command timeout is set to 1.73 hours. [23/10/2019 12:58:51] Warning: [WSS_Content_DB1] File 'RBSFilestreamFile' cannot be restored to 'S:\SPFileStream\BlobStorage_DB1'. Use WITH MOVE to identify a valid location for the file. Problems were identified while planning for the RESTORE statement. Previous messages provide details.
[23/10/2019 13:02:22] FatalError: Object WSS_Content_DB1 failed in event OnRestore. For more information, see the spbackup.log or sprestore.log file located in the backup directory. SqlException: The operation did not proceed far enough to allow RESTART. Reissue the statement without the RESTART qualifier. RESTORE DATABASE is terminating abnormally. [23/10/2019 13:02:22] Debug: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.SharePoint.Administration.Backup.SPSqlBackupRestoreHelper.RunCommand(SqlCommand sqlCommand, SPBackupRestoreInformation args, Boolean throwOnRestart, Boolean& restart, SPSqlBackupRestoreConnection connection) at Microsoft.SharePoint.Administration.Backup.SPSqlBackupRestoreHelper.Run(SPBackupRestoreInformation args) at Microsoft.SharePoint.Administration.Backup.SPSqlRestoreHelper.Run(SPBackupRestoreInformation args) at Microsoft.SharePoint.Administration.SPDatabase.OnRestore(Object sender, SPRestoreInformation info) at Microsoft.SharePoint.Administration.SPContentDatabase.OnRestore(Object sender, SPRestoreInformation info)
I have tried performing the restore using Central Admin and PowerShell both of which have the same results. When checking SQL the databases are not being restored at all.
Appreciate any help you can provide.