Hogyan írjunk ki állapotinformációt hosszan tartó adatbázis műveletnél.

Az üzleti felhasználók nem igazán szeretnek várakozni egy-egy lekérdezésünk eredményére, türelmetlenek. Egy aprócska trükkel, még az 1-2 percig tartó lekérdezésünket is “szeretni” fogják Egy egyszerű példával szeretném ezt megmutatni: képzeljük el azt az esetet, amikor egy táblába 8M sort kell betölteni é... [More]

5 dolog amit SOHA nem csinál egy adatbázis fejlesztő

Milyen jó is a késő esti munka főleg mert 6 órás időzona különbséggel dolgozom. Nem kellene, de mégis. Az ok nagyon egyszerű: amíg szabadságon voltam pár dolgot megváltoztattak, mert úgy gondolták páran, hogy az jó. Most javíthatom az egészet dolgozhatok egy bonyolúlt deployment scripten e miatt. Mi az amit *soha* nem szabad csinálni egy táblával: Soha nem nevezünk át oszlopot! Soha  nem változtatunk a tábla oszlopainak sorrendjén (pár kivételes esettől eltekintve). Új oszlopo... [More]

IO figyelmeztetések

Az alábbi figyelmeztetéseket ajánlott minden SQL Server esetében beállítani. A kód kommentjeiben van leírás mindegyikről, illetve a hozzá tartozó Technet cikk is megtalálható. Az értesítéshez emailt használ az alábbi kód, mely feltételezi, hogy a Database Mail szolgáltatás engedélyezve van és beállításra is ke... [More]

Hogyan keressünk meg egy adott értéket egy adatbázisban?

Sokszor találkozom olyan adatbázisokkal, amikor semmilyen vagy nagyon rossz dokumentáció áll rendelkezésre. Ettől többször fordul elő, hogy az alkalmazás által használt értékek adatbázisból jönnek, de még a Profiler sem biztos, hogy jó megoldás annak megfejtésére, hogy honnan is jön az adat, ráadásul sokszor időrabló feladat m... [More]

Ingyenes SQL Server eBook

Az alábbi listában összegyűjtöttem  néhány érdekes és ingyenes könyvet, amiket már ki is olvastam és ajánlani tudok. Természetesen van több is, de azok nem SQL Server témakörben. Introducing Microsoft SQL Server 2008 R2 Introducing Microsoft SQL Server Code Name “Denali” (DRAFT Preview) Inside the SQL Server Query Optimizer Troubleshooting SQL Server: A Guide for the Accid... [More]

Hasznos funkció: fnSplit

Sajnos nem minden cég használ legfrissebb verziót egy-egy programból, vagy csak simán egy másik rendszerből érkező adatok nem tudnak olyan funkciókat, amit pl. az SQL Server tud. Ilyen például a TVP – Table Value Parameter. Képzeljük el az az esetet, amikor TVP helyett egy listát kapunk, pl: a,b,c,d. Ahhoz, hogy ezt tábla formában kapjuk meg, az alábbi megoldást szoktam alkalmazni: USE tempdb; GO CREATE FUNCTION [dbo].[fnSplit] ( @text nvarchar(max), @separator char(1) = ',' ) RETU... [More]

There was a failure to validate setting CTLRUSERS in validaton function ValidateUsers. SQL 2012 RC0 Install

For english version, please go to the MS Connect site and check the workaround I posted. Megvan az első bug De lehet, hogy nem az első, mindenesetre van workaround. A jelenség Az SQL Server 2012 RC0 telepítése során jön elő a There was a failure to validate setting CTLRUSERS in validaton function ValidateUsers hibaüzenet, miután a Distributed Replay Controller oldalon az Add Current User gomb megnyomása után. A setup is kilép, nem megy tovább. Megoldás A telepítés során ne akarjunk megadni... [More]

Adatbázis fejelsztés VS2010-el: Database Project

Annó a Visual Studio 2008-hoz a Microsoft adott egy kiegészítőt – Database Edition GDR – ami nem is volt olyan rossz. Voltak hiányosságai, de szereintem még mindig jobban lehetett vele dolgozni SCM környezetben, mint az SSMS-el. Aki a Visual Studio 2010 Premium vagy Ultimate Edition-t használja, annak az alábbi project típusok állnak rendelkezésre: SQL Server 2005/2008 Database Project SQL Server 20... [More]

SQL Server 2012 RC0

Éppen most kaptam a fülest, hogy elkészült az RC0 az SQL Server 2012 verziójából. Már nagyon közel lehet a tényleges release az RTM.  Az RC0-t a http://www.microsoft.com/download/en/details.aspx?id=28145 oldalról le is lehet tölteni. A cloud-ready nem tudom mit takar... még :)

HUG-MSSQL Meetup 2011.11.03 demo kód

A tegnapi napon egy érdekes témával foglalkoztunk a HUG-MSSQL Meetup-on: Query tuning. Az alapoknál kezdtük el, így a demo során az alábbiakról volt szó: Indexek: clustered index, nonclustered index, covering index Logikai/Fizikai operátorok: Table scan, Clustered Index Scan, Nonclustered Index Scan, Clustered Index Seek, Nonclustered Index Seek, Nested Loops A demo kód innen letölthető: 20111103-Tunnin... [More]