lundi 9 février 2015

RBS maintainance job Orphan cleanup not working



the problem are that Orphan cleanup won't start up. He starting up. chekcking pools and always stuck on 5 pool. And can delete other pool data.


The command I'm runing:



> C: cd "C:\Program Files\Microsoft SQL Remote Blob Storage
> 10.50\Maintainer" "Microsoft.Data.SqlRemoteBlobs.Maintainer.exe" -ConnectionStringName RBSMaintainerConnection -Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores
> -GarbageCollectionPhases rdo -ConsistencyCheckMode r >> SIS_RBS_NOTIME_Maintainer%date%.log


The Error I'm getting:



This task has ended. Processed 334 work units total. 0 Work units were incomplete. Needed to delete 1606751 blobs. Succeeded in deleting 1606751 blobs, 0 blobs were not found in the blob store.
Starting Orphan Cleanup.
Starting Orphan Cleanup for pool <PoolId 25, BlobStoreId 1, StorePoolId 0x19000000>.
Skipping the current unit of work because of an error. For more information, see the RBS Maintainer log.
Starting Orphan Cleanup for pool <PoolId 270, BlobStoreId 1, StorePoolId 0x0e010000>.
Skipping the current unit of work because of an error. For more information, see the RBS Maintainer log.
Starting Orphan Cleanup for pool <PoolId 94, BlobStoreId 1, StorePoolId 0x5e000000>.
Skipping the current unit of work because of an error. For more information, see the RBS Maintainer log.
Starting Orphan Cleanup for pool <PoolId 122, BlobStoreId 1, StorePoolId 0x7a000000>.
Skipping the current unit of work because of an error. For more information, see the RBS Maintainer log.
Starting Orphan Cleanup for pool <PoolId 154, BlobStoreId 1, StorePoolId 0x9a000000>.
Skipping the current unit of work because of an error. For more information, see the RBS Maintainer log.
No work is available at this time.
Other clients, processes or threads may be currently working on other tasks.
This task has ended. Processed 6 work units total. 5 Work units were incomplete. Needed to delete 0 blobs. Succeeded in deleting 0 blobs, 0 blobs were not found in the blob store. Enumerated 0 blobs, 0 blobs are being considered for orphan cleanup.
This task has ended.


The Event viewer shows:



Message ID:2, Level:ERR , Process:8244, Thread:1
Skipping the current unit of work because of an error. For more information, see the RBS Maintainer log.
Operation: WorkExecute
BlobStoreId: 0
Log Time: 2015.02.04 23:43:47

Message ID:3, Level:ERR , Process:8244, Thread:1
Skipping unit of work <PoolId 25, BlobStoreId 1, StorePoolId 0x19000000> because of an error. For more information, see the RBS Maintainer log.
Operation: WorkExecute
BlobStoreId: 0
Log Time: 2015.02.04 23:43:47
Exception: System.Data.SqlClient.SqlException: The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
Internal error in RBS. rbs_sp_gc_get_slice did not find any work unit.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Data.SqlRemoteBlobs.SqlOperations.ExecuteNonQuery(RemoteBlobCommand commandObject, SqlCommand command)
at Microsoft.Data.SqlRemoteBlobs.Maintainer.BeginEnumerateCommand.ExecuteDatabaseOperation2()
at Microsoft.Data.SqlRemoteBlobs.RemoteBlobCommand.ExecuteInternal()
at Microsoft.Data.SqlRemoteBlobs.RemoteBlobCommand.Execute()
at Microsoft.Data.SqlRemoteBlobs.Maintainer.OrphanCleanup.ProcessPoolOrSlice(Int32 nestingDepth, SqlRemoteBlobContext context, BlobDetails blobDetails, Request parentRequest)
at Microsoft.Data.SqlRemoteBlobs.Maintainer.WorkExecutor.ExecutePool(Int32 nestingDepth, SqlRemoteBlobContext context)
at Microsoft.Data.SqlRemoteBlobs.Maintainer.OrphanCleanup.ProcessWorkUnit(Int32 nestingDepth, SqlRemoteBlobContext context)
at Microsoft.Data.SqlRemoteBlobs.Maintainer.WorkExecutor.Execute(Int32 nestingDepth)


Also in database for those pools the work_state = 20. To other pools work_state = 30


Database


Are its possible to repair or just skip that pools to clean up the database?








0 commentaires:

Enregistrer un commentaire