Új hozzászólás Aktív témák
-
martonx
veterán
Erre nincsen egzakt válasz.
Egyrészt tudtommal lekérdezni nem tudod. Reprodukálni tudod, egészen addig, újra és újra míg meg nem oldod, hogy ne legyen deadlock-od.A megoldásához csak általános javaslatokat tudok adni:
1. fedő indexek létrehozása (covered index) - általában a nem tökéletes indexelés szokta okozni a deadlock-okat.
2. hardver teljesítményének emelése - ha egy szerver szarrá van hajtva, jóval könnyebben alakulnak ki deadlockok, mint mondjuk egy 50-80%-os terhelésen.
3. én jártam már úgy is, hogy linked szerverek egymásra átnyúlogatása okozott deadlock-ot, lecsökkentve az átnyúlásokat, illetve exec at-tel futtatva a cuccokat, meg is oldódott a probléma.
4. bármi egyéb, te látod, hogy mi okozza, annak függvényében te fogod tudni elhárítani pl. query hinteléssel -
martonx
veterán
Group by az ötletem
Ha csinálsz sqlfiddle példát, akkor meg is mutatom, de ez elég triviális, nem is ragoznám túl.
Mársézt, ha tényleg ez a tábla struktúrád, akkor az egy őszintén nagyon elcseszett séma.
Én a helyedben erősen utána olvasnék a normál formáknak, majd kompletten újra gondolnám a táblákat. -
martonx
veterán
Gondolom az SQL verziók hivatalos összehasonlító oldalát láttad, nem linkelem ide.
Manapság a szük keresztmetszet az IO nem pedig a processzor, vagy a memória.
Szóval az alapján, hogy 100-200 ember tol adatot valahova, az éppen semmit nem jelent, akár egy ingyenes Express is elég lehet (ha a 10Gb-s korlátba beférsz). Függ a db sémától, erre nem lehet konkrét választ adni.
Futtatok olyan Sql Express-t, amibe napi 12.000 user tolja az adatot, van olyan tábla, amibe napi 9 millió adat megy. És hangsúlyozom SQL Express.Ha biztosra akarsz menni, akkor a Standard változat bőven elég lesz. Ha BI-t is akarsz csinálni, akkor a BI változat kell neked. Ha meg enterprise feature-öket akarsz használni (saját üzemelétető csapatod van, mindenféle tükrözésekkel, szekrénnyi rack-ek fürtjein kell futnia, akár több telephely között elosztva a db-nek, akkor meg Enterprise változat. Ilyet is használtunk már.
-
martonx
veterán
Akkor már én is leírom. Én anno eleve excel makróval oldottam meg szinte mindent.
Ez olyan szempontból a létező legjobb volt, hogy eleve xls-ben jelentek meg az adatok
az excelhez mindenki ért, vbscriptet programozni gyerekjáték, és excel ugyebár mindenki gépén van (üzleti szektorról beszélünk).
Az excelbe tettem egy frissítés gombot, vagy akár még pár szűrő mezőt is. Gomb nyomásra már jöttek is a friss adatok.
Amikor napi 4 ilyen excelt (plusz hozzájuk tartozó SQL script) raktam össze, és mindezt éveken keresztül, na az volt ám az igazi szellemi favágó munka.Másrészt CLR-t is programoztam néha, durva dolgokat lehetett megcsinálni vele, de egy rossz CLR akár az egész SQL szervert elölhette, szóval én csak végszükség esetén ajánlom.
-
martonx
veterán
Figyi CLR-rel bármit meg tudsz csinálni. Akár azt is, hogy írsz egy konzol alkalmazást, majd mondjuk egy saját függvénnyel ezt tudod használni adat exportra. De ehhez vagy Office-t, vagy Open Xml SDK-t kell rakni a szerverre, plusz akkor sem úsztad meg a programozást, mert CLR-ezel.
Akkor meg már sokkal tisztább külön futtatni egy külsős programot. -
martonx
veterán
Biztos ezt akarod? Általában fordítva szokott lenni, azaz egy külsős program szedi le az adatokat, és készít XLS-t, vagy bármit. Lehet, hogy egy külsős ütemezett konzol alkalmazás szebb lenne erre a célra, mint sql scriptből, meg CLR-ből ilyet heggeszteni, plusz függőségeket telepíteni az SQL szerverre...
-
-
martonx
veterán
Szia!
Eltévedtél ez itt egy MSSSQL topik, nem pedig Delphi programozás topik, még ha a háttér db-d történetesen MSSQL is. Szóval nem fogunk neked érdemben Delphi programozás tippeket tudni adni. Azért amire tudok válaszolok.
- az SQL szerver melyiket szereti jobban?
SQL szervernek tökmindegy, végeredményben mindkét metódus ugyanazt az insertet fogja futtatni.
- sebességben van-e különbség a kettő között?
Lásd előző választ
- vagy talán a kettő teljesen ugyanaz, és teljes mértékben egyenértékű
Lásd előző választ -
-
martonx
veterán
Jól gondolod, de normálisabb helyeken azért van a DB szerver, hogy adatbázis feladatokkal terheljük, és azért van a levelező szerver, hogy levelezési feladatokkal terheljük, és azért van a webszerver, hogy web kiszolgálói feladatokkal terheljük, és még hosszasan sorolhatnám.
-
martonx
veterán
válasz
TheCompany #19 üzenetére
"Nekem annyit mondtak, hogy Shrinkeljek mindennap, mert akkor gyorsabb lesz az adatbázis, csinálom is én, de jobb lenne erre is egy JOB, hogy 2 óránként shrinkeljen, mert elég lassúcska a program erre is találtam egy JOB-ot, nem tudom, hogy helyes-e:
DBCC SHRINKDATABASE (N' adatbázis név ', 0)"A shrink semmi mást nem teszt, mint a nagyra növő táblákat, temp táblákat visszavágja az eredeti méretükre. Ettől gyorsabb nem igazán lesz a rendszer, viszont valóban hasznos dolog shrinkelni, mondjuk éjszakánként naponta egyszer. Nehogymár 2 óránként shrinkelj!
"Jelenleg 24 giga ram van a szerverben, ebből az sql-nek beállítottunk 16 gigát, de ahogy nézem a taskmanagerbe a memória felhasználást sose megy 5 giga fölé, nem gond-e ez véletlenül."
Ez nem gond, csak annyit jelent, hogy rendesen felülméreteztétek a hardvert, és vélhetően egy kalap pénzt kidobtatok feleslegesen az ablakon (bár szerencsére a ram nem annyira drága). Persze ki tudja milyen tempóban nő az adatbázis, lehet pár év múlva kelleni fog az a 24 giga.
-
-
martonx
veterán
Ha pusztán a mennyiségeket nézzük, akkor kb. 10X annyi fejlesztőre van szükség mint DB admin-ra. Sokszor egyébként a fejlesztő bizonyos szintig DBA is (indexelés, teljesítmény elemzések).
Szóval érdemes fejlesztőként is érdemes valamennyire belelátni DBA cuccokba is.
De örök igazság, hogy a kérdéseidre nincs jó válasz. Ha épp DBA kell valakinek, akkor hiába vagy jó DB fejlesztő. És fordítva. -
martonx
veterán
Egyre jobb lesz ez: [link]
Külön kiemelném belőle, hogy az SSMS Express immár teljes értékű lesz a fizetős verziók SSMS-ével!
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Asus TUF F15 FX506HM Gamer notebook - i5 11400H 16GB DDR4 RAM 512GB SSD RTX 3060 6GB W10
- LG 48C3 - 48" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- AKCIÓ! ASUS MAXIMUS VIII HERO Z170 chipset alaplap garanciával hibátlan működéssel
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest