Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Příznaky

Předpokládejme, že používáte Microsoft SQL Server 2012 nebo SQL Server 2014. Když spustíte správu vzdáleného úložiště objektů BLOB (RBS), nástroj udržení struktury RBS selže a zobrazí se následující chybová zpráva:

Zahájení úkolů údržby Spouští se uvolňování paměti. Spouští se referenční kontrola. Referenční kontrola je pro tuto databázi hotová. Naskenované objekty blob 113. Odstraněné objekty BLOB v oblasti 0x000000000000000000000000 (Exclusive) na 0x00000000000000b600000002 (včetně). Tento úkol skončil. Počet zpracovaných pracovních jednotek celkem 0 pracovních jednotek bylo neúplné. Zahájení odstranění šíření V tuto chvíli není k dispozici žádná práce. Na jiných úkolech mohou pracovat i další klienti, procesy nebo vlákna. Přeskakuje aktuální pracovní jednotku, protože došlo k chybě. Další informace najdete v protokolu o Údržbém systému RBS. [..] Tento úkol skončil. Počet zpracovaných pracovních jednotek 102 pracovní jednotky 101 nebyly úplné. Nutné k odstranění objektů BLOB. Úspěšné odstranění objektů blob, 0 bloby se v úložišti objektů BLOB nenašly. Tento úkol skončil. Tento úkol skončil.

Když ke sledování problému používáte Profiler, zobrazí se následující chybová zpráva:

Msg 50000, úroveň 16, stav 0, procedura rbs_sp_rethrow_error chyba 38RBS. Původní chyba: číslo 535, závažnost 16, stav 0, postup rbs_sp_count, řádek 52, zpráva: výsledkem funkce DateDiff byla přetečení. Počet DatePart oddělujících dvě instance data a času jsou příliš velké. Zkuste použít funkci DateDiff s menším množstvím datepart.

Příčina

Tento problém nastane, když dotaz, který kontroluje čas od posledního provádění, může přetečení při převodu hodnoty na milisekundy. Tím se dotaz nezdaří a úkol skončí bez zpracování dat.

Řešení

Oprava tohoto problému je k dispozici v nejnovějším balíčku Feature Pack pro kód RBS. msi. Pokud už máte existující instalaci kódu RBS, doporučujeme spustit skript, který je uvedený v části alternativní řešení, a tento problém dočasně vyřešit.

Stažení balíčku Feature Pack pro Microsoft SQL server 2014 Service Pack 2 (SP2) Stáhnout balíček microsoft SQL Server 2012 Service Pack 4 (SP4) Feature Pack

Alternativní řešení

Pokud máte na SQL serveru 2012 nebo SQL serveru 2014, na kterém není oprava nainstalovaná, k dispozici existující instalace kódu RBS, můžete použít následující postup:

  1. V SSMS otevřete skript z kroku 3 a pak se připojte k instanci systému SQL Server, která hostuje klientskou databázi RBS, pro kterou chcete použít opravu.

  2. Ve skriptu nahraďte řetězec "your_RBS_client_database" skutečným názvem klientské databáze RBS.

  3. Spuštěním skriptu spusťte opravu.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

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×