Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Síntomas

Suponga que está usando Microsoft SQL Server 2012 o SQL Server 2014. Al ejecutar el mantenedor de almacenamiento remoto de BLOBs (RBS), la herramienta de mantenimiento de RBS genera un error y recibe el siguiente mensaje de error:

Iniciando tareas de mantenimiento. Iniciando recolección de elementos no utilizados. Iniciando examen de referencia. El examen de referencia ha finalizado para esta base de datos. Recorrió a blobs de 113. Se han eliminado los BLOB 0 en el intervalo de 0x000000000000000000000000 (exclusivo) a 0x00000000000000b600000002 (incluidos). Esta tarea ha finalizado. Se procesaron 1 unidades de trabajo en total. 0 unidades de trabajo incompletas. Iniciando la propagación de la eliminación. No hay trabajo disponible en este momento. Es posible que otros clientes, procesos o subprocesos estén trabajando actualmente en otras tareas. Omisión de la unidad de trabajo actual debido a un error. Para obtener más información, consulte el registro del mantenedor de RBS. [..] Esta tarea ha finalizado. Total de unidades de trabajo procesadas 102. 101 unidades de trabajo incompletas. Necesario para eliminar los blobs 0. Se eliminaron correctamente los blobs 0, no se encontraron #a0 BLOB en el almacén de blobs. Esta tarea ha finalizado. Esta tarea ha finalizado.

Al usar el analizador para realizar un seguimiento del problema, recibe el siguiente mensaje de error:

MSG 50000, nivel 16, estado 0, procedimiento rbs_sp_rethrow_error, line 38RBS error. Error original: número 535, gravedad 16, estado 0, procedimiento rbs_sp_count, línea 52, mensaje: la función DateDiff ha provocado un desbordamiento. El número de partes de la fecha que separa dos instancias de fecha y hora es demasiado grande. Intente usar DateDiff con un DatePart menos preciso.

Causa

Este problema se produce porque una consulta que comprueba el tiempo desde la última ejecución puede desbordarse cuando convierte un valor en milisegundos. Esto hace que la consulta no se realice correctamente y que la tarea termine sin procesar los datos.

Resolución

La solución para este problema está disponible en la última descarga de Feature Pack para RBS. msi. Si ya tiene una instalación de RBS, le recomendamos que ejecute el script que se proporciona en la sección "solución" para corregir temporalmente el problema.

Descargar el paquete de características de Microsoft SQL server 2014 Service Pack 2 (SP2)descargar el paquete de características de microsoft SQL Server 2012 Service Pack 4 (SP4)

Solución alternativa

Si ya tiene una instalación de RBS en SQL Server 2012 o SQL Server 2014 que no tiene instalada la corrección, puede seguir estos pasos:

  1. En SSMS, abra el script del paso 3 y, a continuación, conéctese a la instancia de SQL Server que hospeda la base de datos del cliente de RBS a la que desea aplicar la corrección.

  2. En la secuencia de comandos, reemplace la cadena "your_RBS_client_database" por el nombre real de la base de datos del cliente de RBS.

  3. Ejecute el script para aplicar la corrección.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

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×