Hierarchikus adatok kezelése SQL Server segítségével – 1. rész

Az utóbbi időben igen sok esetben kellett hierarchikus adatokkal foglalkoznom, illetve interjúk során is fel szoktam tenni ezzel kapcsolatban kérdéseket. Az alábbiakban szeretném bemutatni, hogy a különböző SQL Server verziók esetében ezen adattípusokat hogyan lehet/érdemes kezelni. Mi lehet hierarchikus adat? Ezt az egyszerű kérdést talán a legjobban egy példával lehe... [More]

Lock escalation on partitioned tables

Locking is a necessary thing for better concurrency. SQL Server manages its locks automatically. In general: when a statement issues about 5000 locks on a single table or index, lock manager issues an escalation. Lock escaltion details can be found in BOL at here: http://msdn.microsoft.com/en-us/library/ms184286.aspx What if I have partitioned table? Do I really need to lock the whole table or index? I believe, most of the cases, answer is no. It may be enough to lock that particular ... [More]

cliconfg.exe on different platforms

I love when people set up alias for their SQL Server installation; and wondering why it is not working (Of course complaining to DBA’s that the SQL Server remote access is not enabled ). Well, remote access is just fine, alias as well… then what can be the problem? Let’s see in a real world scenario: Running an application on Windows Server 2008 R2 can be both 32 and 64 bit application. If the alias created using the 64 bit version of cliconfg.exe and the application is built for 32 bit, it w... [More]

SQL Server custom EventLog logger

I’m active on several forums (TechNet, MSDN, etc.) and found some interesting questions, I’d like to blog about. One of the topic is a custom event logging module for SQL Server. I can use a built in function to log any error to the Application Event Log with the following code snippet: RAISERROR ('Error sample', 16,1) WITH LOG;   Ok, this works if I want to use Application log. What can I do if I have to have my custom Event Log? If I have SQL Server 2005 or later, obvious answer ... [More]

PIVOT aggregáló funkció nélkül

Ma ismét elökerült ez az érdekes probléma: hogyan használjam a PIVOT operátort anélkül, hogy az értékek összesítve lennének pl. a SUM, AVG függvényekel. Nekem csak az értékek kellenek. A MIN és a MAX függvények ebben az esetben nagyon hasznosak :-) /*=============================================================================== Date: 2012.01.19 Descripti... [More]

Microsoft Project Server ECF custom view automatic refresh

I'm writing this article as ECF (Enterprise Custom Fields) handling inside the Microsoft Project Server database backend is not really documented, at least hard to find any information about it :) I needed to write custom audit and custom code for MSPS 2007 and 2010. Requirements were relying on ECF's and needed to use them in my custom code. I decided to build a view for my project entity with all custom fields. This view can be created in the ProjectServer_Reporting database. It was also a re... [More]

SQL Server tervezés

Sokszor találkoztam olyan cégekkel, ahol nem vették elég komolyan egy-egy SQL Server kialakítását. Persze van olyan is, amikor a pénz nem számít és olyan vasat vesznek, ami bőven elég lehet a feladatra, de lehet csak szimplán szerencséjük van . Bár a szerencse sem elég egy rosszúl beállított szerver esetén. Sajnos olyan dolgok is közrejátszanak a hibás döntésekhez, mint például a szakmaiasság hiánya (van ilyen szó hogy szakmaisság? ). Az elmúlt évek alatt volt szerencsém kis és nagynak mondhat... [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]