Reklama
Nepřihlášený uživatel | Zaregistrovat se
 

Téma:

Počítače a Internet

Spravuje:

koles

Může vás zajímat



Reklama


SQL



Vdaka. Radsej to premenujem a aplikaciu presuniem na inu lokalitu a na starej nech maju data. Dodavatel totiz casto nieco hovori a ukaze sa, ze je to inak. Pri tomto uz pocujem "nerucime za to" a "na vasu zodpovednost". Jeho prve odporucanie bolo, nech to premenujem, ze je s tym najmenej roboty.
gorila Navision je zlo, které se musí vymítit.. 
Tohle ti vrátí dotazy, kde se nachází hledáná hodnota:
DECLARE @lcSQL VARCHAR(MAX)
SET @lcSQL=''
SELECT @lcSQL=@lcSQL+REPLACE(REPLACE(REPLACE('IF (SELECT COUNT(1) FROM "%TAB%" WHERE "%COL%" LIKE ''%VAL%'')>0 PRINT ''SELECT * FROM "%TAB%" WHERE "%COL%" LIKE ''''%VAL%''''''', 
       '%TAB%', AB.name), '%COL%', AA.name),'%VAL%', '%\\srv01%')
  FROM sys.columns AA INNER JOIN sys.tables AB ON AA.object_id=AB.object_id
  WHERE AA.system_type_id in (167, 231, 35,99,239,175)-- AND AA.name IN ('No_', 'Document No_','Letter No_')
  ORDER BY AB.name,AA.name
EXECUTE (@lcSQL)
GO
Tohle ti vrátí updaty, které změní hodnoty:
DECLARE @lcSQL VARCHAR(MAX)
SET @lcSQL=''
SELECT @lcSQL=@lcSQL+REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('IF (SELECT COUNT(1) FROM "%TAB%" WHERE "%COL%" LIKE ''%VAL%'')>0 PRINT ''update "%TAB%" set "%COL%"=replace("%COL%", ''''%VALOLD%'''', ''''%VALNEW%'''') WHERE "%COL%" LIKE ''''%VAL%''''''', 
       '%TAB%', AB.name), '%COL%', AA.name),'%VAL%', '%\\srv01%'),'%VALOLD%', '\\srv01'),'%VALNEW%', '\\srv02')
  FROM sys.columns AA INNER JOIN sys.tables AB ON AA.object_id=AB.object_id
  WHERE AA.system_type_id in (167, 231, 35,99,239,175)-- AND AA.name IN ('No_', 'Document No_','Letter No_')
  ORDER BY AB.name,AA.name
EXECUTE (@lcSQL)
GO
A to druhé pusť po konzultaci s dodavatel sw.
 
violetelephant グッバイ、ミスターティーポット 
jo, pookud je to debil, tak stopne server a zkopiruje jenom mdf bez ldf, tak se to stat muze.
Robim tam full backup. Kapacita na to je. Za 45 sekund su databazy vyexportovane aj s tym, ze je urobena nad nimi silna komprimacia + casove razitko. To cele do 45 sekund. Momentalne bezi full backup databaz kazdych 30 minut.

O inom type zalohy sme nehovorili. Len vraj mali problemy volakedy s obnovenim, ak mal clovek zazalohovanu len databazu bez LOGu. Teraz ma napada, ze to nemusel mat exportovane - mohol mat ten clovek len kopiu MDF bez LDF a nie vyexportovanu databazu do suboru. To by asi mohlo robit problem?
violetelephant グッバイ、ミスターティーポット 
ses si jisty, ze jsi rozumel tomu dodavateli spravne?

protoze co se bezne dela, ze full backup delas jednou za urcitou dobu a mezitim si delas zalohy transakcnich logu, takze mas pak lepsi granularitu zalohy pro obnovu a samozrejme kdyz obnovujes, tak obnovujes s full backupu a nasledne tam narolujes i ty transakce.

pokud delas plnou zalohu, tak se vzdycky zalohuje k checkpointu v case zalohy jak databaze samotna (MDF), tak i transakcni log (LDF).
pokud delas rozdilovou zalohu, tak se zalohuje pouze transakcni log, od checkpointu posledni plne zalohy
pokud delas inkrementalni zalohu, tak se zalohuje pouze transakcni log, od checkpointu posledni zalohy
DOTAZ na zalohovanie SQL
Este jeden dotaz na zalohovanie SQL. Bezne zalohujem MS SQL cez backup funkcie pomocou backup prikazu v SQL skripte. Databaza tak moze bezat a za behu sa urobi jej obraz. Obnovit to ide podobne automatizovane, alebo manualne, ci nejakym toolom.

Co ma vsak prekvapilo, dodavatel odporucal, mat zalohovanu nielen databazu, ale aj log. V postate vypnut SQL server a urobit kopiu databazy aj s logom. Co je imho nepredstavitelne, ak vam stale niekto niekde zapisuje, neda sa to robit permanentne. Dorobili si aj button do aplikacie, ked to urobi sama, ale zase manualne, nic automatizovaneho. Vraj mali niekedy v minulosti problem, ak bola len samotna databaza a nie aj s logom.

Hovoril nieco o tom, ze v ramci tej istej verzie SQL servera nebyva problem s obnovenim exportovanych databaz, ale ak sa obnovuje databaza napr. na novy pocitac o niekolko rokov dalej a je tam uz o par radov novsia verzia SQL, severa - tak je vraj lepsie mat databazu a log.

Aky mate na to nazor?
 
DOTAZ na zalohovanie SQL
Este jeden dotaz na zalohovanie SQL. Bezne zalohujem MS SQL cez backup funkcie pomocou backup prikazu v SQL skripte. Databaza tak moze bezat a za behu sa urobi jej obraz. Obnovit to ide podobne automatizovane, alebo manualne, ci nejakym toolom.

Co ma vsak prekvapilo, dodavatel odporucal, mat zalohovanu nielen databazu, ale aj log. V postate vypnut SQL server a urobit kopiu databazy aj s logom. Co je imho nepredstavitelne, ak vam stale niekto niekde zapisuje, neda sa to robit permanentne. Dorobili si aj button do aplikacie, ked to urobi sama, ale zase manualne, nic automatizovaneho. Vraj mali niekedy v minulosti problem, ak bola len samotna databaza a nie aj s logom.

Hovoril nieco o tom, ze v ramci tej istej verzie SQL servera nebyva problem s obnovenim exportovanych databaz, ale ak sa obnovuje databaza napr. na novy pocitac o niekolko rokov dalej a je tam uz o par radov novsia verzia SQL, severa - tak je vraj lepsie mat databazu a log.

Aky mate na to nazor?
 
Praveze ta aplikacia neni sracka, ale naopak je velmi sikovna. Len treba mysliet pri implementacii, alebo sa opytat, ked chcem nieco robit. Bolo dohodnute, ze ziadne data/prilohy tam nebudu, len databazy. Kolegovci si to tam neskor zacali pridavat a pricom sa im tie data ani nezalohovali /len tie databazy/. Esteze to "nerachlo".

Imho je mozne, ze sa s dodavatelom dohodli priamo, alebo im nieco poradil a urobili si po svojom, ani ma neinformovali. Ved naco, ked to funguje...
Tak dát pod to starý jméno serveru novej file server, třeba virtuál, a bude to oddělený. Na novej SQL server jim ani nedáš možnost zapisovat a číst soubory -> profit!
Ta aplikace je evidentně hrozná sračka. Prostě ji vypni a uživatelům vysvětli, že jim bez ní bude lépe.

A budeš mít dva volné servery -> profit!
Neviem ako to stare WinXP este vydrzi.
Som chcel tie data nejak "učesať" a oddelit od aplikacky. Pre poriadok, pre zalohovanie, pristup/obmedzenia.
Oni si kolegovia ani neuvedomovali, ze trebars tam maju pomenovane subory ako 1.pdf a ze ked si niekto opat zvoli tento nazov, tak ho vlastne prepise, pretoze niekolko suborov sa bude odkazovat na tu istu cestu, ale obsah suboru uz bude iny.

Tiez by niekoho mohlo napadnut pomenovat subor ako:

"Sem napíšem tú krásnu diakritiku najlepšie ešte s ruskými Ш ш Ъ ъ Ю ю a čínskymi alebo arabskými znakmi a budem sa snažiť aspoň o vyse 200 znakov. pdf"
Nebo pro tebe mám jiný originální řešení, nic nepřejmenovávej, vyhlaš, že starej server je od teď file server na přílohy a nech je tam :-)
Přemejnuj ty servery a máš pokoj. O co bude lepší, když přepíšeš ty data?
To u .sql skriptu (případně hromady csv-ček) a priori nevadí. Ledaže by přetekly dýlky sloupců, ale to by byla fakt smůla.
To by sa asi "rozbilo" jelikoz by som nahradzval retazec "ABC" za dlhsi "ABCEDFGHIJKLMNOP................................"
A tak moh by udělat full dump do plaintextovýho souboru .sql, udělat search&replace, třeba sed-em, a pak to natáhnout do čestvý prázdný db. Jak moc rozumný to je a co všechno se může posrat, si posuďte sami ;-)
Ono to vie davat data priamo do SQL, ale lepsie ich bolo davat mimo, lebo to je SQL Express. Vraj to vedia nejak nastavit, aby si to davalo do jedneho adresara, kde si to nejak samo preneuje, zorganizuje. Lenze to po nich nikto nechcel a kolegovia vyuzili funkciu, kde je jedno pole a da sa link na subor. Takze v konecnom dosledku je to len .....

"\\BFLM\PSVZ\ozaistnedulezitapriloha_nemazat.pdf"

Naviac kazdy z uzivatelov tam ma pristup a moze ju zmazat, alebo modifikovat. Co je pekne na pikacu, ked su to rozne dokumenty, ktore bude mozno treba pri nejakom prusere. Asi im to zamknem na read onlny a nech si davaju tie data na inu, dohodnutu cestu a nebude to ohrozovat kokolvek, kto tam ma pristup.
Hele, buď tu aplikaci psal naprostý debil a pak příloha bude uložená v dajakej tabulce jako "\\BFLM\PSVZ\ozaistnedulezitapriloha_nemazat.pdf"

Nebo tu aplikaci psal menší debil, a pak bude v jedné tabulce uloženo:
attachmentWorkingDir = \\BFLM\PSVZ
A v jine tabulce budou samostné nazvy příloh:
ozaistnedulezitapriloha_nemazat.pdf

Tak či tak, je to aplikačně závislé, se SQL serverem to nesouvisí a opravdu na databázová data Search & Replace nefunguje.