Recent Articles

Conversation Endpoint’lerin temizlenmesi

Service Broker // 01 August 2011

0

Veritabanınızda Service Broker kullanıyorsanız, Endpoint mesajlarını belirli aralıklarla temizlemeniz gerekmektedir. Aksi taktirde End’lenmeyen, Error alan mesajlar ciddi anlamda Freespace yiyecektir. Bunun için aşağıdaki kodu kullanabilirsiniz.   DECLARE @EndPointSayac INT, @SuandaSilinen NVARCHAR(MAX), @Silinen NVARCHAR(MAX), @SilinecekMSJ UNIQUEIDENTIFIER SET @EndPointSayac = 0 SET @Silinen = ‘Silinen: ‘ WHILE EXISTS ( SELECT TOP(1) * FROM sys.conversation_endpoints ) BEGIN SET [...]

Continue →

Hiyerarşik Veri Tipi (Hierarchical Datatype)

Veri Tipleri // 22 July 2011

2

Bu veri tipini daha çok organizasyon şeması, dosya/klasör listelerinde, ürün kataloglarında, forumlarda kullanabilirsiniz. Hiyerarşik veri, veri parçası setlerinin birbirleri arasındaki farklı bağlarını tanımlar. Basit bir şekilde tanımlamak gerekirse, ana-alt öğe bağlantısı birer hiyerarşi formudur. Ana öğenin, alt öğeleri olduğu gibi, hiç öğesi de olmayabilir. Alt öğelerinde kendi altlarında öğe gruplarının olması mümkündür. hierarchyid veri tipi, [...]

Continue →

sp_dropserver ve sp_addserver

Stored Procedure // 21 July 2011

0

Diyelimki development için SQL Server sunucunuzun bir clone’unu aldınız ve real sunucu ile aynı AD’de aynı networkte konumlandırdınız. Doğal olarak sunucunun ismini rename ettiniz ve üzerindeki Database’lere aynı sunucu ismi ile de bağlandınızı düşünelim. Buraya kadar herşey normal. Fakat SELECT @@SERVERNAME yazdığınızda Instance isminizin eski sunucu ismi olarak kaldığını göreceksiniz. Bunun için iki SP’miz var. [...]

Continue →

Gün, Hafta, Ay, Yıl hesaplamaları

Genel T-SQL // 20 July 2011

0

Yararlı olduğunu düşündüğüm daha önceden yazdığım bir kaç tarihsel hesaplama.   –Ay’ın sayısından Ismini alma DECLARE @Ay SMALLINT SET @Ay = 2 SELECT DATENAME(MM,DATEADD(MM,@Ay,-1)) AS Ay   –Ayın ilk günü ile son günü SELECT DATEADD(M, -1,DATEADD(MM, DATEDIFF(M, -1, GETDATE()), 0)), DATEADD(S, -1,DATEADD(MM, DATEDIFF(M, -1, GETDATE()), 0))   –Haftanın ilk günü ile son günü SELECT DATEADD(D,-7,DATEADD(DD, [...]

Continue →

ROW_NUMBER() – Partition By Kullanımı

Ranking Fonksiyonları // 18 July 2011

0

ROW_NUMBER, tabloda sıralı ID kolonları üretmek için kullanılır. Bu yazıda ROW_NUMBER’ı Partition By ile harmanlayarak tablodaki belirlenen kolonda aynı olan verileri ayırıp, ROW_NUMBER ID’si en küçük olanını almayı anlatacağım. Öncelikle bir test tablosu oluşturalım. CREATE TABLE #TestTablo ( KolonID INT IDENTITY(1, 1), Kolon1 VARCHAR(10), Kolon2 VARCHAR(10), Kolon3 VARCHAR(10) ) INSERT #TestTablo VALUES ( N’Adana’, N’A01′, [...]

Continue →

Bloklar halinde veri temizliği

Genel T-SQL // 17 July 2011

0

Hemen hemen herkezin ihtiyacının olacağı, yazdığım bir kodu paylaşmak istiyorum. Tablolarda belirli Tarih-Saat aralıklarında toplu veri temizliğine ihtiyaç duyabilirsiniz. Silmek için bir kerede büyük çaplı tablolara yüklendiğinizde genelde ya transaction’larda yavaşlama yada tabloya erişim sürelerinde sıkıntılar yaşarsınız. Bunun için bloklar halinde silme işleminizi yapman en doğrusu olacaktır. Belirleyeceğiniz sayıda bloklar yaratıp her blok sonrası birkaç [...]

Continue →