Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Diskuze na Lopuchu,
pohlazení na duchu

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: tvsybod
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
edmundl 7.4.2010 19:41  1189
Oprava databáze MS SQLAhoj, mám server MS SQL 2005 Express a na něm databázi, která se chová divně.
Zdánlivě jsou data v pořádku, s db je možné pracovat, ale při některých operacích vykonávání sql příkazů spadne s podivnými chybami, nebo vrací "podivné" výsledky.
Zjsitil jsem, že je databáze poškozená. Příkazy

dbcc checkdb ('MojeDB', 'REPAIR_REBUILD') a
dbcc checkdb ('MojeDB', 'REPAIR_ALLOW_DATA_LOSS') vrací mnoho chyb, například:
Msg 8945, Level 16, State 1, Line 2
Table error: Object ID 2091154495, index ID 1 will be rebuilt.
Could not repair this error.
Msg 8978, Level 16, State 1, Line 2
Table error: Object ID 2091154495, index ID 1, partition ID 418520877694976, alloc unit ID 137045900984320 (type In-row data). Page (1:37506) is missing a reference from previous page (1:94883). Possible chain linkage problem.
The error has been repaired.
Msg 2511, Level 16, State 2, Line 2
Table error: Object ID 2091154495, index ID 1, partition ID 418520877694976, alloc unit ID 137045900984320 (type In-row data). Keys out of order on page (1:44954), slots 7 and 8.
The error has been repaired.


Opakované spouštění výše uvedených příkazů vedlo k tomu, že se některé chyby podařilo opravit, ale stále zůstává cca 24 chyb a ty už opravit nejdou.

Co je s tím možné dělat? Co může být příčinou takového poškození db?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 19.3.2010 16:25  1188
pepakviz knedle
mimochodem mysql na to ma myslim jeste jednu srozumitelnejsi syntaxi:
update table XXX using YYY join XXX ......

umel to i MSAccess co jsem s nim kdysi jako student delal, jen je tam par omezeni kde to jde a kde ne.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 19.3.2010 16:22  1187
pepakmysql, treba.
knedle knedle online - Krabice živých 19.3.2010 12:57  1186
nevim, co tim presne mas na mysli, ale ja nedavno delal v myslq:

update tab_a 
left join tab_b on tab_a.id = tab_b.tab_a_id
set tab_a.neco = tab_b.neco
...


takze joiny v update (!?)
pepak pepak - Pepak.net 19.3.2010 11:41  1185
Tvx: Který DB systém dovoluje dělat JOINy v UPDATE?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 19.3.2010 10:44  1184
BredyTohle jde taky pres join, pokud to jde prepsat tak, jako viz ten minuly pripad, jen se to zapise jako update.
kazdej db system v tomto pripade miva mirne jinou syntaxi.
pepak pepak - Pepak.net 19.3.2010 09:25  1183
Zvládá nativně ano, vhodné ne - blbě se to optimalizuje a NOT IN zvlášť.
knedle knedle online - Krabice živých 19.3.2010 09:09  1182
popravde jsem myslel, ze db IN () zvlada nejak nativne a tudiz je vhodne jej pouzivat :/
themajkl themajkl All those moments will be lost in time - like tears in rain. 19.3.2010 07:12  1181
IMHO nejdřív select do pomocné tabulky a pak update podle ní.
bredy 19.3.2010 06:31  1180
tvxJá jsem něco takového potřeboval udělat ale pro update. Tam se asi selektu v IN nevyhnu.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 18.3.2010 23:07  1179
knedlein () je silenost, pokud se jedna o vice jednotky ci desitky cisel.
knedle knedle online - Krabice živých 18.3.2010 21:54  1178
dik
pepak pepak - Pepak.net 18.3.2010 21:32  1177
Jistě.

SELECT idkniha
FROM kniha
LEFT JOIN kniha_has_kategorie ON kniha_idkniha=idkniha AND kategorie_idkategorie=17
WHERE kniha_idkniha IS NULL
knedle knedle online - Krabice živých 18.3.2010 21:26  1176
dotazjsem dnes tupej, nemysli mi to

potrebuju upravit tento dotaz

select idkniha from kniha
where idkniha NOT IN (select kniha_idkniha from kniha_has_kategorie where kategorie_idkategorie = 17)
AND nejake dalsi podminky...


tento dotaz - mam jej slozitejsi o dalsi IN (select...) - mi zustane viset v db, cimz mi shodi spojeni a stranky jsou v haji :)

jde to nejak udelat pres join?
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 13:20  1175
knedleno vidíš jak jsem to tu rozjel
jeden puschpull a jeden access a co z toho je !
:-)

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt