2010-04-12

Delete Duplicate Rows

;WITH CTE (Field1,Field2,DuplicateCount)
AS
(
SELECT Field1,Field2,
ROW_NUMBER() OVER(PARTITION BY Field1,Field2 ORDER BY Field1) AS DuplicateCount
FROM TableName
)
DELETE
FROM CTE
WHERE DuplicateCount > 1
GO

--Not: SQL Server 2005/2008 versiyonlarında test edilmiştir.

2010-02-23

SQL Server 2005/2008 Servis Pack Planları

SQL Server 2008 SP2 2010 yılının 3. çeyreğinde çıkmış olacak; SQL Server 2005 SP4 ise 2010 yılının 4. çeyreğinde kullanılabilir olacak. SQL Server 2005 için SP4 son servis pack olacak. Microsoft SQL Server 2005'e desteğini 13 Nisan 2011'de kesecek; uzatılmış desteğini ise 12 Nisan 2016'ya kadar sürecek.

2010-02-01

SQL Server 2008 R2 Geliyor

Değerli okuyucu,

Microsoft, 2010 yılının Mayıs ayı içerisinde SQL Server 2008 R2 sürümünü çıkaracağını duyurdu. R2 sürümü dört gözle bekleyenlere duyurulur.

2010-01-07

Clustered Primary Key'i Nonclusted Yapma

Merhaba değerli okuyucu,

Geçenlerde clustered primary key contraint'ini nonclustured yapıya dönüştürme ihtiyacım oldu. İhtiyacımın temel sebebi de yanlış oluşturulan clustred bir primary key index'ini nonclustered yapıp farklı bir indexi clustered index'e çevirmek istememdi.

Bu işlemleri online bir sistemde gerçekleştirdiğimden daha titiz olmam gerekiyordu. Bu yüzden aşağıdaki adımları izledim:
  1. Primary key'ler unique olduğundan key yapısını bozmamak için temporary unique bir index oluşturdum,
  2. Tablo üstündeki Primary Key'i drop ettim
  3. Tabloya Primary Key constraint'ini ekledim
  4. İlk oluşturduğum temporary unique index e artık ihtiyacım kalmadığı için drop ettim.
Yukardaki ifadeler için gerekli olan sql kodları aşağıdaki gibidir:

--temp unique indexi online oluşturma
create unique nonclustered index tmpindex on tablo
(id) with (online=on) on primary
go

--online olarak primary key i drop etme
alter table tablo drop constraint pk_tablo with (online=on)
go

--nonclustered primary key i online olarak oluşturma
alter table tablo add constraint pk_tablo
primary key nonclustered (id) with (online=on) on primary
go

--temp index i drop etme
drop index tablo.tmpindex
go

2009-12-09

text, ntext ve image veri tipleri

Microsoft, SQL Server'ın yeni çıkacak sürümlerinde text, ntext ve image veri tiplerini kaldıracağını bildiriyor. Bu veri tiplerinin yerine varchar(max), nvarchar(max) ve varbinary(max) veri tiplerini kullanabilirsiniz.

2009-09-03

SQL Server 2005/2008 Registered Server Listesi

SQL Server 2005/2008 de registered server isimlerini aşağıdaki path ve dosyalarda tutuluyor:

SQL Server 2005:
C:\Documents and Settings\\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\RegSrvr.xml

SQL Server 2008:
C:\Documents and Settings\\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\RegSrvr.xml

Bu listeler özellikle benim gibi SQL Server'ınızı tekrardan kurmak zorunda kalmışsanız çok işinize yarayacaktır.

2009-08-30

SQL Server Sistem Collation'ını Değiştirme

Komut satırından aşağıdaki komut yardımıyla SQL Server'ınızın sistem collation'ını değiştirebilirsiniz:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=sa / SAPWD=Passw0rd /SQLCOLLATION=DegistirilecekCollation

Not: master system veritabanı değiştiği için tüm login, yetkiler vs bilgiler uçar(benden uyarması:))!

2009-08-25

SQL Server ile Bilgisayar Adını Bulma

SQL Server üzerinden xp_getnetname sp'ü ile server ismini alabilirsiniz. Bu sp yararlı bir undocumented extended sp olup; aşağıdaki gibi kullanabilirsiniz:

EXEC master.dbo.xp_getnetname

2009-08-19

Disklerdeki Boş Yer Büyüklüğünü Bulma

Server'ınıza bağlı disklerdeki boş yeri SQL Server üzerinden aşağıdaki sp ile bulabilirsiniz:

EXEC master.dbo.xp_fixeddrives

.::YASAL UYARI::.

©2004-2025 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.