Hasznos funkció: fnIsGuid

Ismét alkotni kellett, bár most a saját hülyeségem miatt  Van egy táblám, amiben nvarchar(max) típusú oszlopba sokfajta adatot tartok, de nekem csak azok kellenek, amik uniqueidentifier típusúak. Találtam egy függvényt (ezen az oldalon: http://weblogs.sqlteam.com/mladenp/archive/2005/08/16/7545.aspx), ami ezt a problémát megoldja: CREATE FUNCTION [dbo].[fnIsGUID] ( @input varchar... [More]

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]

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]

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]

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]

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]