SQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Ocak 2019 Cumartesi

SORULAR

Birkaç soru yazalım belki bir işine yarayan olur.

Doğru mu Yanlış mı?

(  ) SQL Yapısal Sorgulama Dilidir.
(  ) Bir SQL Server birden fazla veri tabanı barındırabilir.
(  ) Bir tabloda birden fazla foreign key bulunabilir.
(  ) İki kolon bir arada Primary Key oluşturabilir.
(  ) SQL Server'a bağlanmak için SQL Server Management Studio şart değildir.


18 Eylül 2016 Pazar

SQL: Dinamik Sorgu Oluşturmak

Gelen bir soru üzerine olayın mantığının anlaşılabilmesi için hızlıca bir örnek hazırladım.

Örnekte iki tabloyu join etmek için bir stored procedure kullanılıyor. Parametre olarak iki tablonun adları ve join edilecek kolon adları veriliyor.

17 Eylül 2016 Cumartesi

SQL - Stored Procedure Tarafından Üretilen Sonuç Kümesini Başka Bir Tabloya Kaydetmek

Stored Procedure çalıştırıldığında elde edilen sonuç kümesi ile aynı yapıda bir tablomuz olduğunu varsayalım. Yoksa oluşturalım.

Sonrasında tek yapmamız gereken aşağıdaki gibi bir insert sorgusu yazmak;

INSERT INTO şema.HedefTablo
exec BizimProcedure @parametre1,@parametre2

NOT: Parametre almayan bir stored procedure de kullanabilirdik pek tabii ki.

16 Eylül 2016 Cuma

SQL: Bir Tablonun Şemasını T-SQL ile Değiştirmek


SQL Server veri tabanları içerisinde tablolar oluştururken, tablomuzu dbo şeması ya da daha önceden tanımlanmış başka şemalar altında oluşturabiliriz. Bir tablo oluşturulduktan sonra, tabloyu başka bir şemanın altına alma ihtiyacımız olabilir.

Örneğin; Veri tabanına toplu veri girişi yaparken gelen verileri dbo şemasının altında oluşturulan tablolara aldığımızı düşünelim. Oluşturulan tablolar üzerinde gerekli düzenlemeleri yaptıktan ve veriyi istediğimiz hale getirdikten sonra; tablomuzu, yetkilendirme süreçleri önceden tanımlanmış bir şemanın altına taşımak isteyelim.

Aşağıdaki T-SQL sorgusu ile tablomuzu başka bir şema altına alabiliriz.

ALTER SCHEMA YeniHedefSchema TRANSFER MevcutKaynakSchema.TabloAdi

15 Eylül 2016 Perşembe

SQL Server'da Database Shrink ile Veri Tabanı Küçültme İşlemi

SQL Server'da Database Shrink ile Veri Tabanı Küçültme İşlemi

Shrink kelimesini Türkçe'ye küçültmek olarak çevirebiliriz.

SQL Server: Database Shrink
Bir veri tabanı içerisindeki veri miktarı azalsa dahi, veri tabanının sabit diskte kapladığı alan azalmaz.

Mesela 3 GB boyutunda veri ile dolu olan bir veri tabanından 1 GB veri silecek olursak, veri tabanının sabit diskte kapladığı alan 2GB'a inmez. Diskte kaplanan alan halen 3 GB olacaktır.

Disk alanı kullanımını israf boyutundan çıkarıp normal boyutlara çekmek için shrink işlemi yapılabilir.

Veri tabanı shrink işlemini T-SQL ile yapabileceğimiz gibi SQL Server Management Studio içerisinde grafik arayüzü kullanarak da yapabiliriz. Örneğimizi T-SQL ile gerçekleştireceğiz.

Shrink işlemini veri tabanı için hem *.mdf *.ndf gibi data dosyalarında hem de *.ldf log dosyaları üzerinde tek komutla uygulamak istediğimizde aşağıdaki komutu kullanabiliriz. Örnekte işlemin Adventureworks veri tabanı üzerinde uygulandığı varsayılmıştır.

use AdventureWorks
GO
DBCC SHRINKDATABASE('AdventureWorks')

Eğer shrink işlemini veri tabanına ait tüm dosyalarda değil de sadece tek bir data dosyası üzerinde uygulamak istersek; kullanacağımız komut aşağıdaki gibi olacaktır. Dosya bazlı shrink işlemi yapmak için shrinkfile kullanırken ilk parametre olarak veri tabanı adını değil küçültmek istediğimiz dosyanın adını gireriz.

use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Data',0,TRUNCATEONLY)

Benzer şekilde, sadece log dosyasını shrinklemek için shrinkfile komutu kullanılabilir.

use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Log',0,TRUNCATEONLY)

10 Eylül 2016 Cumartesi

SQL: Sunucudaki Tüm Veri Tabanları için Son Backup Alınan Tarihi Bulmak

Gece gece can sıkıntısı. Uyku tutmadı. Ufak tefek bir şeyler karalayayım dedim.


Veri ile çalışırken yedeklemenin önemi büyük. En son ne zaman yedek aldığınızı merak ettiniz mi hiç? Bir SQL Server Instance'ı içerisinde yer alan tüm veri tabanları için son yedek alma zamanını görmek istediğimde aşağıdaki sorguyu kullanıyorum.

Üzerinde çalışacağımız nesneleri tanıyalım:
select * from sys.sysdatabases
select * from msdb.dbo.backupset

Sunucudaki Tüm Veri Tabanları için Son Backup Alınan Tarihi Gösteren Sorgu:

Öğrenciden Soru: database_name bilgisi msdb.dbo.backupset içerisinde varsa neden join yapıyoruz ki? Sadece msdb.dbo.backupset üzerine bir sorgu atsak zaten aynı bilgiyi alamaz mıyız?

Cevap: Sunucuda daha önce backup'ı hiç alınmamış veri tabanları var ise, msdb.dbo.backupset içerisinde onlara ait hiç bilgi olmayacaktır. Yani join yapmadan tek tarafı sorgularsak, daha önce en az 1 defa backup'ı alınmış veri tabanlarının son yedekleme tarihlerini görürüz. join yaparak sorgu oluşturduğumuzda ise, hiç yedeklenmemiş veri tabanlarını bile yanlarında bir tarih olmadan görebiliriz. Bu sayede daha önce hiç yedeklenmemiş bir veri tabanını yedeklememiz gerektiğine karar verebiliriz. Aksi takdirde bu tarz veri tabanlarını sorgu sonucunda hiç görmeyeceğimiz için kolayca gözden kaçırmak mümkün olur.

28 Ağustos 2016 Pazar

SQL: Ayın Son Gününe Ait Tarihi Bulmak

SQL Server

EOMONTH() Fonskiyonu
Ayın son gününe ait tarihi bulan fonksiyondur.
SQL 2012 ile birlikte gelmiştir.
SQL 2012 ve üzeri sürümlerde çalışır.

5 Haziran 2015 Cuma

SQL Server Veri Tabanındaki Tablo Adlarını Listelemek


SQL Server Veri Tabanındaki tablo adları nasıl listelenir?

use Veri_Tabanı_Adı
select * from sys.tables

veya

select * from sysobjects WHERE xtype='U'

16 Kasım 2011 Çarşamba

SQL'deki verinin karakter sayısı nasıl bulunur?

SQLServer üzerindeki veri tabanlarında çeşitli tablolarda taşınan veriler üzerinde karakter sayısına bağlı bir işlem yapılması gerektiğinde Len isimli fonksiyon kullanılabilir.

Örneğin; Yorum tablosundaki YorumMetni kolonundaki verinin 2 karakterden az olduğu kayıtları silmek için aşağıdaki kod kullanılabilir.

image

delete from Yorum where Len(YorumMetni) < 2

23 Ekim 2011 Pazar

Introducing Microsoft SQL Server Code Name “Denali” ücretsiz e-book indirin


Microsoft SQL Server Denali delivers significant enhancements to well-known, critical capabilities like high availability and disaster recovery. These enhancements promise to assist organizations in achieving the highest mission-critical confidence to date.
Server Core support along with breakthrough features like AlwaysOn Availability Groups, active secondaries, and key improvements to features such as failover clustering now offer organizations a range of accommodating options to achieve maximum application availability and data protection for SQL Server instances and databases within a datacenter and across datacenters.
Note: Keep in mind that this download provides early content from the ebook currently in development and is still in draft, unedited format. This excerpt was written against SQL Server Code Name “Denali” Community Technology Preview 3.

3 Ekim 2010 Pazar

18 Mart 2010 Perşembe

SqlMetal Builder (SqlMetal.exe GUI) Download

SqlMetal Builder, SqlMetal.exe kullanımı için görsel arayüz sağlayan faydalı bir araçtır.

Uygulamayı aşağıdaki linkte bulunan resmi sitesinden indirebilirsiniz.
http://sqlmetalbuilder.sourceforge.net/

Sitede aynı zamanda uygulamaya ait kaynak kodlar da bulunabilir.

13 Kasım 2009 Cuma

T-SQL Kullanarak SQL Server Veri Tabanını yedeklemek

T-SQL kullanarak kolayca BackUp ve Restore işlemleri gerçekleştirilebilir. Bir veritabanı komple yedeklenebileceği gibi, sadece transaction log, ya da filegroup'lar da yedeklenebilir.

Aşağıdaki kod yardımı ile SQL 2005 ve SQL 2008 üzerinde full backup alabilirsiniz.
Backup'ın kaydedileceği klasör daha önceden oluşturulmuş olmalıdır. (C:\Yedekler)

BACKUP DATABASE AdventureWorks

TO DISK = 'C:\Yedekler\AdventureWorks_20091113.bak'
WITH DESCRIPTION = 'AdventureWorks icin son yedek',
INIT
GO

22 Temmuz 2009 Çarşamba

Adventureworks Database for SQL Server - Download

Yerel bilgisayarınıza SQL Server kurulumu yaparken Adventureworks Veri Tabanını seçmeyi unutup atladınız mı?

Bu durumda muhtemelen setup ekranını yeniden görecek olmak hoşunuza gitmeyecektir. Çözüm burada. Adventureworks veri tabanını bu linkten ulaşacağınız sayfadan indirip yerel sunucunuza (server) attach ya da restore edebilirsiniz.

25 Mayıs 2009 Pazartesi

Windows 7 üzerinde SQL Server 2005 / SQL Server 2008 Kurulumları

SQL Server 2008 RTM, SQL Server 2005 RTM/SP1/SP2 ürünlerini Windows 7 üzerine kurmak istediğinizde, SQL Server'ın Windows 7 ile bilinen bazı uyumluluk sorunları olduğuna dair bir uyarı alırsınız. Aynı uyarı ile Visual Studio kurulumu sırasında da karşılaşabilirsiniz, çünkü; kurulum sırasında, SQL Server 2008 kurulumu da gerçekleşiyor. Uyumluluk problemine sebep olan şeyler SQL Server 2008 SP1 ve SQL Server 2005 SP3 ile giderildiler.

SQL Server'ı Visual Studio 2010 ile birlikte kullanmayı düşünüyorsanız, kurulum sırasında önceliği SQL Server ve Service Pack'e verip ardından Visual Studio 2010 kurulumu yapmak daha doğru olacaktır.

Kaynak: MSDN

19 Nisan 2009 Pazar

SQL 2008 İstanbul kampı!

25 Nisan'da, Yıldız Teknik Üniversitesinde, SQL 2008 ile ilgili tam günlük bir etkinlik gerçekleştirilecek. Bu etkinliğe kaydolmak için http://www.inetatr.org/ adresindeki formu kullanabilirsiniz. Etkinlik programı aşağıdaki gibidir:

10.00-11.15 Full Text Indexing
11.30-12.30 Platform Yenilikleri
13.30-14.15 Yazılım Geliştiriciler için Yenilikler
14.30-16.00 Indexing Stratejileri ve Performans İpuçları

Konuşmacılar : Tarık Kranda, Pamir Erdem

8 Nisan 2009 Çarşamba

SQL Server 2008 Service Pack 1 - Download


SQL Server 2008'in hem 32 bit hem de 64 bit sürümleri için Service Pack 1 yayınlandı. 10.00.2531.00 version numarası ile yayınlanan paketi bu linkten indirebilirsiniz.

10 Şubat 2009 Salı

Microsoft SQL Server Database Product Samples

SQL 2005 ve SQL 2008 ile birlikte gelen örnek veritabanlarını indirmek için aşağıdaki linkleri kullanabilirsiniz. Codeplex'in örnek veritabanları için hazırladığı sayfaya ulaşmak için ise bu linki takip edebilirsiniz.

Sample Databases for Microsoft SQL Server 2008 Refresh 1: LINK
Sample Databases for Microsoft SQL Server 2005 SP2a: LINK