 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
frenki Moderator



Pridružen-a: Ned 23 Feb 2003 21:26 Prispevkov: 6740 Aktiv.: 28.36 Kraj: Ljubljana (JN76GB)
|
Objavljeno: Pon Sep 21, 2009 12:13 pm Naslov sporočila: MS SQL nenormalno napihovanje baze |
|
|
Koda: |
rows reserved data index_size unused
------------------ ------------------ ------------------ ------------------ ---------------------
TABELA 1607249 3392280 KB 650968 KB 311440 KB 2429872 KB
------------------ ------------------ ------------------ ------------------ --------------------- |
Nekaj tabel se nenormalno napihuje na račun unused prostora, ki ga shrink ne odpravi.
Zna kdo razložit, kje je pravzaprav vzrok za tak % unused space-a, kako prepričat bazo, da tako tabelo spravi skupaj in kako preprečit, da se ob novih insertih tole ne bo ponavljalo? Ja, verzija SQL je 2000!
Lp, Frenki |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Tor Sep 29, 2009 8:45 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
frenki Moderator



Pridružen-a: Ned 23 Feb 2003 21:26 Prispevkov: 6740 Aktiv.: 28.36 Kraj: Ljubljana (JN76GB)
|
Objavljeno: Tor Sep 29, 2009 4:22 pm Naslov sporočila: |
|
|
Kroko ni pozno, ker še vedno iščem rešitev . Recovery model je simple, to sem preverjal tudi sam. Shrink pa kljub temu ne naredi omembe vredne spremembe. Vsaka ideja je še vedno dobrodošla.
Lp, Frenki |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Tor Sep 29, 2009 7:33 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pon Okt 05, 2009 1:44 pm Naslov sporočila: |
|
|
Živjo!!
Ker imam podobno težavo, bom nadaljeval kar to temo.
Težava je naslednja.
Uporabljamo Microsoft SQL 2005 Express Edition, ki ima omejitev velikost baze 4GB. Ker so v bazi podatki, ki jih lahko zbrišemo (pomembni so za debug), bi rad zbrisal te podatke.
Začel sem z ukazom DELETE ... WHERE..., vendar sem kasneje ugotovil, da ta ukaz dejansko ne sprosti prostora v bazi. Poizkusil sem tudi različne variante z ukazom COMMIT in nato shrink, vendar brez usepeha.
Delovalo je le:
BEGIN TRANSACTION;
TRUNCATE TABLE ime_tabele;
COMMIT TRANSACTION;
in nato shtink->database
Rezultat je za 95%manjša baza, vendar pri tem je bila izbrisana cela tabela, ne pa samo željeni del tabele.
Zanima me, kako bi zmanjšal zasedeni prostor tabele (velikost tabele) - resnično zbrisal del tabele.
Sem pa popolni novinec na področju SQL baze, tako da se učim/testiram na backup bazi.
Hvala za nasvete!
Lep pozdrav
Peter |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14679 Aktiv.: 61.78
|
Objavljeno: Pon Okt 05, 2009 3:46 pm Naslov sporočila: |
|
|
V Clipperju je comit fizično izvedel vpis z memorije na disk. Zapise iznačene za brisanje "delete" pa je počistil ukaz "pack". _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
frenki Moderator



Pridružen-a: Ned 23 Feb 2003 21:26 Prispevkov: 6740 Aktiv.: 28.36 Kraj: Ljubljana (JN76GB)
|
Objavljeno: Pon Okt 05, 2009 5:40 pm Naslov sporočila: |
|
|
Ja, dolžan sem še odgovor glede vprašanja v tej temi. Krokov odgovor drži v celoti. Res se je težava rešila po DBCC DBREINDEX s predhodno nastavljenimi clustered indeksi. Predpostavljam, da je bil vzrok za nastali problem dejansko vključen auto shrink. .mdf se je znatno zmanjšal (skoraj faktor 10). Clustered indeksi ne morejo ostat povsod, zato so bili nekateri vrnjeni.
Zadeva zaenkrat deluje, bomo pa videli kako bo čez nekaj časa.
Kroko hvala za nasvete.
Lp, Frenki |
|
Nazaj na vrh |
|
 |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pon Okt 05, 2009 7:05 pm Naslov sporočila: |
|
|
Kroko je napisal/a: |
Ali je velik log (.ldf) ali data(.mdf) file?
DBCC DBREINDEX bo rešil tvoj problem. Naj opozorim, da deluje samo na tabelah, ki imajo clustered index. Če ima tabela samo heap potem ji začasno naredi clustered index (priporočljivo je, da clustered indeks kar pustiš če lahko)
|
Bolj ko berem po netu, bolj se mi dozdeva da je to lahko rešitev. Trenutno še ne morem poizkusiti, smo jutri grem v akcijo.
Zanima me, kako veš kateri tip indexa uporablja tabela?
Glede na to, da popravljam tabelo, ki jo kreira druga aplikacija me zanima, ali lahko spreminjam tipe indexa oz ali je to mogoče?
Lp,
Peter |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Tor Okt 06, 2009 9:04 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Tor Okt 06, 2009 9:10 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 11 dni
Powered by phpBB © 2001, 2005 phpBB Group
|