Na ez is egy őrült ötlet de miért ne... Vajon az alábbi lekérdezésnél melyik GUID nagyobb?
DECLARE @A uniqueidentifier = '0CB2DC09-D93C-4CFF-8D49-000000000001';
DECLARE @B uniqueidentifier = '66454F18-F2D1-4934-85CD-000000000001';
SELECT @A AS [A], @B AS [B],
CASE WHEN @A > @B THEN 'A' ELSE 'B' END AS [GuidCompare],
CASE WHEN CAST(@A as varchar(36)) > CAST(@B AS varchar(36)) THEN 'A' ELSE 'B' END AS [StringCompare]
GO
Szerintem itt min...
[More]
Couple of years ago I needed to implement a kind of fuzzy matching algorithm in SQL Server. Today I have just found my code I implemented it in SQL 2005 and it works on newer versions as well. Code is based on the Damerau–Levenshtein distance algorithm. I was using a SQL CLR user defined scalar function: inputs are 2 strings and returns a number between 0 and 1. If it is more close to 1 it means the two input strings are closer to each other. Of course SSIS Fuzzy Lookup Transformation may work b...
[More]
Na ez már érdekes téma! Van egy szerverem, amiben van 4 processzor (mag), de mindig csak egyet használt a DBCC CHECKDB. Kicsit utánajártam a dolognak:
Csak akkor használja a több procit, amikor
Enterprise Edition, illetve Developer vagy Eval edition van telepítve,
A vizsgált táblán/táblákon nincs se CLR, se T-SQL alapú számított oszlop (computed column),
A párhuzamos ...
[More]
I’m attending on the Quickstart’s SQL Server 2008 Microsoft Certified Master (MCM) Accelerated Exam Preparation Program and a question came up yesterday: Can we use the WITH CHECKSUM with transaction log backups? The answer is pretty simple: yes, we can. Here is a sample script for evidence USE [master];
GO
BACKUP DATABASE [AdventureWorks2012] TO DISK='c:\DbBackups\AW2012\aw2012full.bak' WITH INIT, CHECKSUM;
GO
BACKUP LOG [AdventureWorks2012] TO DISK='c:\DbBackups\AW2012\aw2012tr.bak' WIT...
[More]
Az alábbi lekérdezés segít megnézni, hogy mely adatbázisok, mennyi helyet foglalnak.
USE [tempdb]
CREATE TABLE #DatabaseSize
(
[database_name] sysname,
[type_desc] nvarchar(50),
[state_desc] nvarchar(50),
[size_in_MB] bigint
);
EXEC sp_MsForEachDb
'USE [?]
INSERT INTO #DatabaseSize
SELECT
DB_NAME(),
type_desc,
state_desc,
SUM(size * 8 / 1024)
FROM
sys.database_files
GROUP BY
type_desc,
state_desc
'
SELE...
[More]
Kedves kolléga Horváth Zoltán felfedezte, hogy az SQL Server Management Studio a query ablak alsó része más-más szinekben pompázik, amikor a fejlesztői vagy az éles rendszerhez kapcsolódik. Ennek az az oka, hogy az én regisztrált szervereimet importálta be a saját SSMS-ébe. Én pedig minden szervercsoporthoz külön szinkódot használok. A szinezésnek történelmi okai vannak: amikor először megjelent az SQL 2005-höz kiadott SSMS elkezdtem használni. Ez egy nagy változás volt az addigi Enterprise m...
[More]
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]
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]
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]
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]