Autoincremento DB bloccato??

venerdì 21 novembre 2008 - 12.10

giorgetto Profilo | Newbie

Salve
una WebApp .NET gira su MSSQL2000.
Ha autoincrementi del 10%, ma ogni volta che ha bisogno di scrivere sembra non riesca a prendere spazio sul disco (che ha una capacita di spazio libero enorme)

Sembra che via sia qualche sorta di quota su spazio Disco assegnato al DB o all'utente del DB.
E' probabile che il blocco dell'autoincremento sia dovuto a questo?
Come posso rilevarlo? ovviamente non sono il sysadmin della macchina!

lbenaglia Profilo | Guru

>una WebApp .NET gira su MSSQL2000.
>Ha autoincrementi del 10%, ma ogni volta che ha bisogno di scrivere
>sembra non riesca a prendere spazio sul disco (che ha una capacita
>di spazio libero enorme)

Ciao Giorgio,

L'estensione dei data files/transaction log richiede del tempo per essere completata, causando probabilmente dei timeout nella vostra applicazione.
Non è il caso di allocare preventivamente lo spazio necessario in base alle vostre previsioni di crescita?
Questo eviterebbe continui autogrowth, evitando di conseguenza una eccessiva frammentazione dei files a livello di file system.

Inoltre verifica che non sia stata impostata una dimensione massima a livello di data file/t-log via Enterprise Manager oppure tramite la stored procedure di sistema sp_helpfile.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

giorgetto Profilo | Newbie

Ciao e Grazie,

in effetti il DB è in piedi da oramai 4 anni ed ha superato i limiti previsti inizialmente.
Con autogrow a 100Mb ha ripreso a funzionare, un incremento di questo tipo potrebbe chiedere meno tempo e quindi evitare il timeout? Ho paura sia una soluzione temporanea.

A questo punto lo spazio allocato è incrementabile semplicemente dalle proprietà del DB? O si suggeriscono pratiche diverse?

lbenaglia Profilo | Guru

>Con autogrow a 100Mb ha ripreso a funzionare, un incremento di
>questo tipo potrebbe chiedere meno tempo e quindi evitare il
>timeout? Ho paura sia una soluzione temporanea.
Come ti ho spiegato, l'estensione comporta un certo tempo per esserere conclusa, quindi va schedulata all'ora più opportuna.
Estendendo adeguatamente la dimensione del db e tenendo monitorata la situazione, potrete intervenire proattivamente ad estedere ulteriormente le dimensioni nel caso si renda necessario, evitando che l'applicazione vada in timeout.

>A questo punto lo spazio allocato è incrementabile semplicemente
>dalle proprietà del DB?
Certo, oppure tramite il comando ALTER DATABASE di cui trovi ampia documentazione sui Books Online.

>O si suggeriscono pratiche diverse?
Un db è una entità "viva" che va di conseguenza "accudita" con una corretta politica di manutenzione, altrimenti i DBA a cosa servirebbero?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5