Új hozzászólás Aktív témák
-
sztanozs
veterán
válasz zolynet #1395 üzenetére
Nem rekurzív, hanem kurzor - csak hasonlóan hangzik
De ide kurzor sem kell, csak egy while loopdeclare @counter int
declare @csum int
set @counter = 0
set @csum = 0
while @counter < 10
begin
set @counter = @counter + 1
set @csum = @counter + @csum
insert into simple_table values(@counter, @csum)
endpersze ha nem counter-t kell beletenni, hanem egy másik táblából értékeket, akkor már kell a kurzor (meg ugye az értékeket célszerű sorbarakni, hogy az eredmény determinisztikus legyen - ha annak kell lennie)...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Petya25
addikt
Stringet építenék rekordokból.
Egy lekérdezés eredményét (1 mező, több rekord) bele szeretném tolni egy stringbe pl egy változóba.
Erre lenne valami egyszerű megoldása valakinek?Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
martonx
veterán
-
Petya25
addikt
válasz lakisoft #1404 üzenetére
Esetleg a használatáról valamit tudsz írni?
Ezt találtam ami működik végülis:
DECLARE @Names VARCHAR(8000)
SELECT @Names = COALESCE(@Names + ', ', '') + Name FROM Peoplemartonx
Igen a pluszt szoktram használni szövegeknél.[ Szerkesztve ]
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
Jeti1
tag
Nem teljesen ide illő kérdés, de szorosan kapcsolódik az SQL témához. Szerintetek egy közepes vagy annál kicsit nagyobb teljesítményű SQL szervernek milyennek kell lennie? Elsősorban gondolok itt a processzora, memóriára, merevlemezre, RAID technológiára...
Még az is érdekelne, hogy ha az SQL szerver különböző adatbázisait különböző helyekről, különböző cégek használnák az országban, akkor milyen internetkapcsolat, ami elfogadható? 100 Mbit, 1000 Mbit, 10 000 Mbit? Az, hogy dedikált sávszélesség legyen-e vagy nem, az nem kérdés és a fix IP cím szükségessége se.
[ Szerkesztve ]
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
martonx
veterán
Hány egyidejű felhasználója lesz? A közepes, vagy annál nagyobb teljesítmény nagyon szubjektív. Egy 16 processzoros (processzoronként 6 mag) szerver a maga több TByte memóriájával vajon közepes, vagy komoly gépnek számít? És amikor két szekrénnyi storage van mögötte? És ha 10 ilyen kiépített gép van fürtözve?
Ez a téma iszonyú relatív. Véleményem szerint egy SQL szervernek a legtöbbet a storage számítja. Egy több tucat vinyós (SSD-ről nem is beszélve) storage már elég szép teljesítményre képes. Emellett fontos még a sok memória, mert minél több táblát tud memóriába tartani az SQL annál kevesebbszer kell a vinyókhoz nyúlnia.
Összességében már egy mezei 1 processzoros (ami azért legyen egy modern minimum 4-6 magos processzor) szerver, a bele préselhető maximális vinyószámmal (hasraütés szerűen 8-10, SSD sokszoros gyorsulást jelent a hagyományos vinyókhoz képest), és az alaplapba tehető maximális memória mennyiséggel (szintén hasraütés szerűen 32GB) simán kiszolgálhat egy 1-200 fős céget, feltéve ha az ügyviteli rendszer jól ki van optimalizálva, plusz van kismillió ismeretlen tényező, ami ezt befolyásolhatja.
A sávszélesség is szubjektív, hogy kinek mi a megfelelő. Nekünk pl. 40 mbites dedikált vonalaink vannak a vidéki városokhoz, ezeken keresztül zökkenőmentes az adatok (nem csak adatbázis adatok, hanem komplett internet forgalom) áramlása.
Mivel semmi konkrét infót nem adtál, ezért csak nagyon nagy általánosságokat tudtam leírni.Én kérek elnézést!
-
Jeti1
tag
válasz martonx #1408 üzenetére
Azt hiszem tényleg nem voltam elég konkrét. Nagyjából 15-20 céget kellene kiszolgálni, ahol cégenként kb. 10-15 fővel lehet számolni, s minden cégnek 2-3 adatbázisa lenne. Egy cégen belül nagyjából 4-5 ember csatlakozna egyidejűleg az adatbázishoz. Így már tudsz konkrétabb választ adni? Ha kell még valamilyen adat, akkor írd meg, aztán leírom. Persze teljesen pontos számokat nem tudok mondani, mert egyelőre még elméletben, a fejemben létezik ez az egész ötlet. Agyalgatok azon, hogy egy központosítás mennyire reális és kb. mennyibe kerülne, mert talán jobban megérné, mint minden egyes mikro vállalkozáshoz, pici céghez kihelyezni egy szervert, s azt konfigurálni.
Természetesen kösi az eddigi válaszod is, mert elgondolkodtatott 1-2 dolgot illetően.Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
martonx
veterán
Én a helyedben két dolgon gondolkoznék el nagyon erősen 300 fő kiszolgálása, kb. 100 egyidejű felhasználó esetén.
1. Venni egy szervert, amiben két processzoros alaplap van, de első körben csak 1 processzort használni benne. Ugyanígy a maximális vinyó számot se használnám ki, hanem mondjuk néhány (minimum 3 ugye) vinyóval egy RAID 5 vagy 10-es tömböt használnék (nem vagyok egy HW-s raid szakértő, hogy melyik a jobb, melyikhez minimum hány vinyó kell, szóval lehet most hülyeséget mondtam). Ekkor a RAID miatt megvan benne a hibatűrés, de a kevés vinyószám miatt az IO elérés lassú lesz. És mondjuk kezdetnek 8-16GB memóriát tennék bele. Ezzel neki lehetne vágni a műveletnek, fokozatosan átterhelni rá a mostani DB-ket, és monitorozni, hogy ez így kb. mit bír, a felhasználók mennyire panaszkodnak? Ha panaszkodnak, akkor lehet látni az adatokból, hogy IO, vagy CPU vonalon kell erősíteni (netán mindkettő). Erős IO használatnál kell a ramot is bővíteni, mert ugye a sok ram csökkenti az IO használatot. És ne felejtsük el, hogy kell egy kis teljesítményű szerver, ami backup-olja az adataidat, ettől helyileg teljesen elkülönítve.
2. Elfelejted az egész hardveres marháskodást és felhőbe viszed az egész cuccot. Ott aztán mindent úgy skálázol, ahogy jónak látod, meg ahogy a pénztárcád engedi. Az AWS-t, vagy az Azure-t javaslom, nekem az Azure-al vannak pozitív tapasztalataim. Mostanában jelent meg a T Systems, meg az Invitel is a saját felhő szolgáltatásaikkal, azokat nem ismerem. A felhő szvsz nem olcsó, de megspórolod a hardver árát, plusz a villanyszámlát havonta, a meghibásodásokat, hardveres kollega fizetését, db admin kollegát (na jó ezt nem teljesen) stb...
Én kérek elnézést!
-
UBO
csendes tag
Helló mindenkinek!
A napokban elkezdtem ismerkedni az sql lekérdezésekkel, mivel kontrolling területen szeretnék elhelyezkedni és pályakezdőként szeretnék kis plusszot nyújtani
A kérdésem, hogy melyik programot érdemes használni aminek ha megtanulom a kezelését gond nélkül átválthatok akár másik programra is ha adott helyen olyan nem lesz.
Tulajdonképpen arra lennék kíváncsi melyik felhasználóbaráti és legérthetőbb.
Válaszotokat előre is köszönöm. -
Sk8erPeter
nagyúr
Azt sem írtad, milyen SQL konkrétan. Ha már vágod az SQL-t, elvileg mindegynek kéne lennie, melyiket használod, gyorsan át tudsz állni rá.
Nekem pl. MySQL-hez a dbForge Studio for MySQL jött be eddig legjobban, de még nyilván van hatszáz másik fasza program.
Microsoft SQL Serverhez meg persze Microsoft SQL Server Management Studio.Sk8erPeter
-
Jeti1
tag
válasz martonx #1411 üzenetére
1. Hasznos és jó, amit írsz. Két kérdés azonban felmerült bennem. Érdemes lehet odafigyelni arra, hogy a leggyorsabb winchesterekkel legyen felszerelve a gép és a rendszer esetleg SSD-ről működjön? A másik szerverre azért lenne szerinted szükség, hogy az végezze a mentést vagy azon tárolódjanak a mentések? Adattárolásra elég lehet egy NAS is.
2. A felhőszolgáltatás már régebben is eszembe jutott és pont az Azure megoldással foglalkoztam. Szerintem használható lenne, de még mindig sokan félnek tőle, nem tartják elég megbízhatónak... A programozók ráadásul nem rajongtak az ötletért, mert bizonyos dolgokat másként kellene megoldaniuk, mint eddig tették. Több dolgot illetően eltér egymástól az SQL Azure és SQL Server kezelése.
Ha már szóba jött a RAID, van egy nagyon jó oldal, ahol megadhatod a lemezek számát, hogy egy lemez milyen kapacitású és a RAID típusát, az pedig kiírja, hogy mennyi lesz a hasznos terület, az írás-olvasás gyorsaságot és a hibatűrést. A weboldal: RAID Calculator
[ Szerkesztve ]
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
martonx
veterán
1. mint mondtam az SQL szerverek általános szűk keresztmetszete az IO teljesítmény. Ezen vagy a meghajtók számának növelésével, vagy a meghajtók gyorsaságával (SSD-re cseréjével) lehet segíteni. Ha nem nagyok a DB-k, vagy a pénz nem számít, akkor mindenképpen az SSD-s megoldást javaslom. Ha éjszaka nem dolgoznak a DB szerveren, akkor mehet ezen a mentés, és elég azokat akár egy NAS-on tárolni. Ha éjjel-nappal pörög a DB szerver, akkor jobb, ha egy másik gép végzi a mentést.
2. a programozóid véleménye alapvetően butaság. Valóban nem 100%-os az átfedés az Azure és az SQL Server 2012 között, de ez csak ott jelentkezik, hogy nem tudod egy az egyben áttenni a DB-ket Azure-ra. Mostanra ez már elég szépen dokumentálva van, és ha valaki rászánja azt az 1-2 órát az életéből, és végre ott van a DB Azure-on, akkor már csak egy connection stringet kell kicserélni a programban, és az észre se veszi, hogy DB-t váltottak alatta.
Én kérek elnézést!
-
Jeti1
tag
válasz martonx #1416 üzenetére
1. Az adatbázisok átlagban 4-5 GB-osak és esténként nem dolgoznak rajtuk normál esetben. Ez alapján azt hiszem a NAS jó megoldás lesz mentések tárolásra, a normál adattárolásra pedig több gyors merevlemez, ha ez a verzió valósul meg.
2. Egyetértek veled, de a programozók többségben vannak. Valószínűleg összegyűjtöm majd a különbségeket és oda adom nekik olvasásra, hogy ne hallomások alapján ítéljünk meg egy felhőbeli megoldást.
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
martonx
veterán
Elmondom én, hogy mik hiányoznak az Azure-ból TSQL szinten:
Elosztott tranzakciók
Elosztott lekérdezések
FILESTREAM Data
Beépített Full-Text Search
CLR
Service Broker
Fizikai szerver és katalógus
Adatbázis Mirroring
Extended Stored Procedures
Tábla particionálásEzek egy része már mostanra is deprecated technológia, azaz nem kellene használni. Másik része pedig a felhőből fakadóan felesleges pl. Adatbázis Mirroring. És van ami tényleg hiányozhat ilyen pl. a Full-Text Search, vagy a CLR, ha ezeket használjátok.
Én kérek elnézést!
-
Jeti1
tag
válasz martonx #1418 üzenetére
Köszi! Így azért egyszerűbb volt, mint utána járni a dolgoknak! Gondolom te használod az SQL Azure technológiát, nem csak ismerkedsz vele, ahogy én.
Ha már te ennyire otthon vagy az adatbázisok, SQL témában, akkor kérdeznék még valamit. Szerinted, hogy néz ki egy elfogadható és egy ideális karbantartási terv adatbázisok esetén?
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
Jeti1
tag
válasz martonx #1420 üzenetére
Minden adatbázis szerver esetén a Management rész alatt létrehozható (varázslóval is) egy úgynevezett Maintenance Plan. Ezt a Maintenance Plant nyílván többféleképpen is el lehet készíteni, s arra lennék kíváncsi, hogy szerinted hogyan kellene, mire mondod azt, hogy ez már egy megfelelő beállítás, mondjuk egy adatbázis mentési terv esetén.
Így most már remélem érthetően sikerült leírnom, hogy mi érdekel.Ezen a videón a Maintenance Plan varázslójával állítanak be egy ütemezett teljes db mentést: [link]
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
martonx
veterán
Ahogy mondtam a backup-ot sokféleképpen lehet értelmezni. Nálunk pl. a fő DB szerverről real time mirror-ing van más helyen lévő szerverre.
Szóval backup-ról most nem beszélve, szerintem minimum az alábbiakat érdemes legalább hétvégente lefuttatni:Check Database Integrity
Shrink Database
Reorganize Index
Rebuild Index
Update StatisticsÉn kérek elnézést!
-
Geryson
addikt
Mesterek! Melyik paranccsal rakom sorrendbe egy bizonyos oszlop adatait?
Sort vagy Order vagy ilyesmi, nem? A "cikkszam" oszlop adatait szeretném sorrendbe tenni...
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
Geryson
addikt
válasz Sk8erPeter #1424 üzenetére
Szia Brian! Majdnem egy sorozatban játszunk...
Akkor jól sejtettem, hogy Order by cikkszam, de valami miatt ezt nem hajtja végre...
Szerk.: Megvaaan! Bent maradt a pontosvessző a select * sor végén. Köszönöm!
[ Szerkesztve ]
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
perempe
addikt
MS Access-ben hogyan tudom az sql parancsait gyakorolni egy .mdb adatbázison? van erre vmi word doksi?
* Brahms: 4. szimfónia *
-
sztanozs
veterán
válasz perempe #1427 üzenetére
Query szerkesztőnél nem a varázslót indítod el, hanem csinálsz egy üres query-t azt megnyitod edit müdban és a nézetnél átkapcsolsz SQL-re.
Amúgy az MSAccess SQL szintakszisa a legkevésbé szabványkövető. Azon csak akkor gyakorolj, ha kifejezetten az Access SQL-t kell megtanulnod.JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
rum-cajsz
őstag
válasz perempe #1431 üzenetére
jééé, tőlem tanulsz? kérdezz inkább.
Ha szenvedni akarsz, akkor az Accessben azt kell csinálnod, amit már itt korábban leírtak.
De én egy Mysql adatbázis telepítést javasolnék a gyakorláshoz, kb 1 perc.
Ez az egyik legegyszerűbb csomag, amiben mysql is van: http://www.easyphp.org/[ Szerkesztve ]
=Kilroy was here============================ooO=*(_)*=Ooo=======
-
klambi
addikt
szevasztok!
olyan gondom lenne hogy van 1 sql lekérdezésem, avg-van benne de vagy 20 tizedesig kiírja, ezt hogy toom megoldani hogy csak egész számra írja ki az átlagot?(sql developerben)"Mond szépen angolul: Gyors róka!"
-
klambi
addikt
válasz Sk8erPeter #1435 üzenetére
semmi, csak kérdeztem van-e valami más lehetőség...
"Mond szépen angolul: Gyors róka!"
-
csabyka666
addikt
Üdv mindenkinek!
Előre elnézést kell kérnem, hogy ilyen nevetségesen egyszerű témában kérem a segítségeteket, de nem találtam alkalmasabb topicot. Szóval...
Meg kellene valósítanom egy komplett adatbázist, a nulláról indulva: specifikáció -> ER modell -> relációs modell -> Access-es megvalósítás. Sajnos nincs sok gyakorlatom a témában, ezért ötleteket várnék - ti mit és hogyan csinálnátok?Kiindulásnak annyi adott, hogy egy autóalkatrész-katalógust szeretnék megvalósítani. Vannak alkatrészek és gyártók (plusz amit még javasoltok). A cél az lenne, hogy egy on-line alkatrész-adatbázishoz hasonlót hozzak létre, ahol a felhasználó különféle szűrések szerint tud keresni a rekordok között.
Olyanra gondolok, hogy ha például ugyanaz az alkatrész jó Opel Astra-hoz, és mondjuk Suzuki Swift-hez, akkor ezt megtalálja a kereső...stb.Persze tetszőlegesen el lehet (kell) bonyolítani, mert az is kikötés, hogy azért ne faék egyszerűségű legyen a feladat.
A gondom az, hogy nem csináltam még ilyet, és nem is nagyon látom a végét. Merre lenne érdemes elindulnom? Minden ötlet/megoldás érdekel!
Köszi a segítséget előre is!
[ Szerkesztve ]
Ágdarálást, kaszálást, területtisztítást vállalok profi gépekkel! Elsősorban Zala megye és vonzáskörzete, de minden megkeresést meghallgatok. +36305633091
-
Apollo17hu
őstag
válasz csabyka666 #1440 üzenetére
főiskolai beadandó? hajrá!
-
Jeti1
tag
Ha ütemezetten SQL Job-ként batch file-t akarok futtatni, akkor a Jobom Operating System (CmdExec) típusú legyen, aztán parancsként megadom, hogy exec és rámutatok a batch file-omra?
A parancs megadása, ahogy én elképzeltem: exec C:\feladatok\feladat1.bat
Én úgy vélem így kellene, ki is próbáltam az elképzelésem, de nem futott le a Job. Elvileg nem találja a file-t.
[ Szerkesztve ]
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
csabyka666
addikt
válasz Apollo17hu #1441 üzenetére
Azám'! Szóval?
Ágdarálást, kaszálást, területtisztítást vállalok profi gépekkel! Elsősorban Zala megye és vonzáskörzete, de minden megkeresést meghallgatok. +36305633091
-
Jeti1
tag
válasz martonx #1443 üzenetére
Én valami ilyesmit szeretnék, csak az internetről vadászott példában szereplő exe kiterjesztésű fájl helyett egy saját bat kiterjesztésűt akarok futtatni: [link]
A bat fájlom normál módon elindítva megcsinálja, amit kell, viszont SQL Server Agent-tel vezérelve szeretném lefuttatni minden nap egy bizonyos időpontban.A bat fájl windows kötegfájl, ha jól tudom. Ebben az esetben a második pontodban írtaknak megfelelek.
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
Jeti1
tag
válasz martonx #1446 üzenetére
A Windows ütemezett feladataival szoktam bat fájlokat futtatni, de arra gondoltam jó lenne, ha mindent az SQL Server Agent kezelne... Ezek szerint csak jó lenne, de nem lesz jó.
Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/
-
sztanozs
veterán
xp_cmdshell - ne hangoztasd, hogy tőlem hallottad. Ez gaykorlatilag hack a hack hátán - főleg ha sql dolgot szeretnél csinálni, csináld a szerveren belülről, ne azon kívül.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz martonx #1449 üzenetére
Majd legfeljebb akkor mutopgatnak, ha én fejlesztek nekik - én csak megmutattam neki, hogy hogyan csinlja azt, amit nem kéne
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...