Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Symptômes

Supposez que vous utilisez Microsoft SQL Server 2012 ou SQL Server 2014. Lorsque vous exécutez l’outil de maintenance de stockage d’objets BLOB distants (RBS), l’outil de mise à jour RBS échoue et vous recevez le message d’erreur suivant :

Démarrage de tâches de maintenance. Démarrage du nettoyage de la mémoire. Commencer l’analyse de référence. L’analyse de référence est en fin de la base de données. Blobs 113 numérisés. A supprimé 0 blobs dans la plage de 0x000000000000000000000000 (exclusif) à 0x00000000000000b600000002 (inclusive). Cette tâche est terminée. Nombre total de unités de tâches traitées. 0 unités de tâches étaient incomplètes. Démarrage de la propagation de suppression. Aucun Work n’est disponible pour le moment. D’autres clients, processus ou threads peuvent travailler actuellement sur d’autres tâches. L’unité de travail actuelle a été ignorée en raison d’une erreur. Pour plus d’informations, consultez le journal de la gestion des opérations de maintenance RBS. [..] Cette tâche est terminée. Nombre total d’unités de tâches 102 traitées. les unités de bureau 101 étaient incomplètes. Nécessaires pour supprimer des blobs de 0. La suppression de 0 blobs a abouti, 0 blobs introuvable dans le magasin d’objets BLOB. Cette tâche est terminée. Cette tâche est terminée.

Lorsque vous utilisez le profileur pour identifier le problème, vous recevez le message d’erreur suivant :

MSG 50000, niveau 16, état 0, procédure rbs_sp_rethrow_error 38RBS erreur de ligne. Erreur d’origine : numéro 535, gravité 16, état 0, procédure rbs_sp_count, ligne 52, message : la fonction DiffDate a entraîné un dépassement. Le nombre de parties séparant deux instances de date/heure est trop important. Essayez d’utiliser datediff avec un PartDate moins précis.

Cause

Ce problème se produit car une requête qui vérifie le temps écoulé depuis la dernière exécution peut déborder quand il convertit une valeur en millisecondes. La requête échoue et la tâche se termine sans traitement des données.

Résolution

Le correctif de ce problème est disponible dans le téléchargement du Pack de fonctionnalités le plus récent pour RBS. msi. Si vous disposez déjà d’une installation RBS, nous vous recommandons d’exécuter le script fourni dans la section « solution de contournement » pour résoudre temporairement le problème.

Télécharger Microsoft SQL server 2014 Service Pack 2 (SP2) Télécharger le Pack de fonctionnalités microsoft SQL Server 2012 Service Pack 4 (SP4)

Solution de contournement

Si vous disposez d’une installation de RBS sur SQL Server 2012 ou SQL Server 2014 qui n’est pas installée, vous pouvez utiliser les étapes de contournement suivantes :

  1. Dans SSMS, ouvrez le script à partir de l’étape 3, puis connectez-vous à l’instance SQL Server qui héberge la base de données du client RBS à laquelle vous souhaitez appliquer le correctif.

  2. Dans le script, remplacez la chaîne « your_RBS_client_database » par le nom réel de la base de données du client RBS.

  3. Exécutez le script pour appliquer le correctif.use [your_RBS_client_database]go if object_id(N'mssqlrbs_resources.rbs_sp_count') is not null drop procedure mssqlrbs_resources.rbs_sp_countgo create procedure mssqlrbs_resources.rbs_sp_count ( @operation smallint, @object smallint = 0, @value bigint = null, @start_time datetime = null, @end_time datetime = null, @description sysname = N'', @message nvarchar(max) = null)asbegin declare @type tinyint, @secondsUsed bit, @seconds float declare @maxDays int = 10; if not exists ( select * from mssqlrbs_resources.rbs_internal_counters where operation = @operation and object = @object and description = @description ) raiserror (N'Internal error in RBS. Attempt to count invalid performance counter. Counter: <%d>.<%d>.<%s>.', 16, 101, @operation, @object, @description) select @type = type, @secondsUsed = seconds_used from mssqlrbs_resources.rbs_internal_counters where operation = @operation and object = @object and description = @description if @object != 0 begin if @value is null raiserror (N'Internal error in RBS. Value not specified for performance counter <%d>.<%d>.<%s>.', 16, 103, @operation, @object, @description) end if @secondsUsed = 1 begin if (@start_time is null) raiserror (N'Internal error in RBS. Start time not specified for performance counter <%d>.<%d>.<%s>.', 16, 102, @operation, @object, @description) set @end_time = isnull(@end_time, getutcdate()) if (@start_time > @end_time) raiserror (N'Internal error in RBS. Start time is after end time. Counter: <%d>.<%d>.<%s>.', 16, 104, @operation, @object, @description) if (datediff(day, @start_time, @end_time) >= @maxDays) begin set @seconds = convert(float, datediff(second, @start_time, @end_time)) end else begin set @seconds = convert(float, datediff(millisecond, @start_time, @end_time)) / 1000 end end update mssqlrbs_resources.rbs_internal_counters set count = count + 1, value = value + @value, squared_value = squared_value + square(@value), min_value = case when min_value is null then @value when (@value < min_value) then @value else min_value end, max_value = case when max_value is null then @value when (@value > max_value) then @value else max_value end, last_value = @value, seconds = seconds + @seconds, squared_seconds = squared_seconds + square(@seconds), min_seconds = case when min_seconds is null then @seconds when (@seconds < min_seconds) then @seconds else min_seconds end, max_seconds = case when max_seconds is null then @seconds when (@seconds > max_seconds) then @seconds else max_seconds end, last_seconds = @seconds, last_update_time = getutcdate(), last_message = @message where operation = @operation and object = @object and description = @description endgo

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×