Pomalé načítaní agendy Účetnictví po přepnutí do roku 2007

vydání: 20080102 - verze: 11

Pokud jsou data uložena na SQL serveru, může dojít k tomu, že načítaní agendy Účetnictví pro rok 2007 je neúnosně pomalé. Příčinou problému je nadbytečné spojení tabulek Ucetni_denik_doklady a Ucetni_denik přes pole Rok

Špatné (původní) spojení (JOIN) je přes pole Cislo_dokladu a Rok. Správné spojení má být pouze přes pole Cislo_dokladu. Řešením je spuštění následujícího skriptu pomocí Query Analyzeru nebo SQL Management studia. Do okna Query Analyzeru vložte následující řádky:

 

---------------------------------------------------------------

use master

declare @DBName varchar(128)

declare DBNames cursor local for
select name from master.dbo.sysdatabases where name like 'DUct%' and isnumeric(right(name, 4)) = 1 and len(name) = 8 order by name
open DBNames
FETCH NEXT FROM DBNames INTO @DBName
WHILE @@FETCH_STATUS=0
 BEGIN
  execute('use ' + @DBName + ' ' +
'
execute(''ALTER VIEW [dbo].[Ucetnictvi_no_lock]
AS
SELECT dbo.Ucetni_denik_doklady.*,
dbo.Ucetni_denik.Zaznam_v_deniku,
dbo.Ucetni_denik.Popis,
dbo.Ucetni_denik.Predkontace,
dbo.Ucetni_denik.Castka,
dbo.Ucetni_denik.Castka_m,
dbo.Ucetni_denik.Ma_dati,
dbo.Ucetni_denik.Dal,
dbo.Ucetni_denik.Stredisko_MD,
dbo.Ucetni_denik.Stredisko_D,
dbo.Ucetni_denik.Zakazka_MD,
dbo.Ucetni_denik.Zakazka_D,
dbo.Ucetni_denik.Parovaci_znak_MD,
dbo.Ucetni_denik.Parovaci_znak_D,
dbo.Ucetni_denik.SouvisejiciDoklad
FROM dbo.Ucetni_denik_doklady WITH (NOLOCK)
LEFT JOIN dbo.Ucetni_denik WITH (NOLOCK)
ON dbo.Ucetni_denik_doklady.Cislo_dokladu = dbo.Ucetni_denik.Cislo_dokladu
'')
')
  FETCH NEXT FROM DBNames INTO @DBName
 END
close DBNames
deallocate DBNames
---------------------------------------------------------------

 

a skript spusťte pomocí klávesy F5.

 

Adresář SQL instalačního CD je v souvislosti s touto opravou aktualizován.

 

Za chybu se omlouváme