Günde bir taş-ı bina-yı ömrümün düşdi yire
Can yatar gafil binası oldı viran bi-haber
Dil bekası Hak fenası istedi mülk-i tenim
Bir devasız derde düştüm ah ki Lokman bi-haber
Bir ticaret kılamadım nakd-i ömür oldı heba
Yola geldum lakin göçmüş cümle karban bi-haber
Kös-i rihlet çaldı mevt amma henüz can bi-haber
Asker-i azaya lerze düşdi sultan bi-haber
Ağlayıp nalan edip düştün yola tenha garib
Dide giryan sine püryan akıl hayran bi-haber
Azığum yok yazığum çok,yolda dürlü korku var
Yolımu alursa n'ola ger div ü şeytan bi-haber
Yol erü yolda gerekdür çağ-u çıplak aç-u tok
Mısri'ye gel didi sana çünkü canan bi-haber
Niyazi Mısri
#DBA #SQL #Server #Performance #Tuning
2011-08-11
2011-07-30
İnsanlık için 5 TL'niz var mı?
Türkiye, Afrika’nın en fakir ülkelerinden Somali’de yaşanan açlık ve kıtlığa duyarsız kalmadı ve harekete geçti.
İnsani Yardım Vakfı İHH ve Deniz Feneri Derneği ile birlikte bir çok yardım kuruluşunun yanı sıra Diyanet İşleri Başkanlığı da Somali için bağış kampanyası başlattı.
40 milyonun üzerinden insanın açlık tehlikesi altında olduğu ve her gün yüzlercesinin de açlık ve susuzluktan hayatını kaybettiği Somali için en etkin yardım türü ise cep telefonlarından SMS karşılığında yapılanı. Yardım Kurululuşları ve Diyanet İşleri Başkanlığı’nın kontrolünde olan telefon numaralarına gönderilen her bir SMS 5 TL yardım yerine geçiyor.
5 TL BAĞIŞ YAPMANIN YOLU
İHH
TURKCELL, VODAFONE VE AVEA tüm hatlardan “SOMALI” yazıp 3072′ye SMS göndererek 5 TL bağışta bulunabilirsiniz.
http://www.ihh.org.tr/
Deniz Feneri Derneği
TURKCELL, VODAFONE VE AVEA’nın tüm faturalı ve kontörlü hatlarından 5560′a boş SMS göndererek 5 TL bağışlayabilirsiniz.
http://www.denizfeneri.org.tr/
DİYANET İŞLERİ BAŞKANLIĞI
1 Ağustos’tan itibaren başlayacak olan uygulama ile bütün operatörlerden “AFRIKA” yazıp 5601’e gönderilecek olan SMS’ler 5 TL karşılığında olacak, 3 SMS gönderildiğinde bir fitre bir iftar parası verilmiş olacak.
http://www.diyanet.gov.tr/
AFRİKA’DA NELER OLUYOR?
Doğu Afrika’yı kasıp kavuran kuraklık Somali başta olmak üzere Kenya, Etiyopya, Cibuti ve Uganda’da büyük bir insani felakete dönüşmüş durumda.
Kuraklık nedeni ile Afrikalı insanların bulundukları yerlerden göç etmek zorunda kaldıkları ve Kenya yakınlarında bulunana Dadaab Kampına sığınmış Somalili mültecilerin sayısının 400.000’e yükseldiği belirtiliyor.
Tek umutları mülteci kamplarında verilecek olan yemek ve su sayesinde hayatta kalabilmek olan mülteciler zor günler geçiriyor. BM raporuna göre yolculuklar esnasında iki milyon çocuk yetersiz besleniyor ve hayatta kalabilmeleri için çok acil yardıma ihtiyaç duyuyorlar.
2011-07-29
Security Vulnerabilities of Any Database Platform

NIST(National Institute of Standards and Technology)'nin, 2002 ile Haziran 2010 döneminde veritabanı teknolojisi üzerinde toparladığı istatistikler doğrultusunda SQL Server en güvenli veri tabanı olarak ortaya çıkıyor.
Konu ile ilgili kaynak makaleler:
- SQL Server delivers industry-leading security
- SQL Server delivers industry-leading security (updated)
Microsoft, SQL Server 2000'den bu yana veritabanı tarafında çok büyük gelişmeler kaydetti. Bana göre SQL Server, SQL Server 2005 ile tam bir enterprise ürün haline geldi. SQL Server 2008 ve SQL Server 2008 R2 ile birlikte kullanışlı ve ihtiyaç olan yeni özellikler eklendi(SQL Server 2008 İle Birlikte Gelen Yenilikler'i ilgili yazımdan okuyabilirsiniz. Bu sene sonunda yada 2012 başında çıkması beklenen ve kod adı Denali olan yeni sürümde daha kullanışlı ve işe yarar yeni özellikler gelecek). Bu gelişmelere paralel olarak zaman içerisinde rüştünü ispat eden SQL Server KOBI'lerden tutun da büyük şirketlere kadar hatta bankalarda kullanım alanı buldu. Halihazırda bildiğim kadarıyla ülkemizdeki 4 banka ana bankacılık veritabanı sistemlerini SQL Server üzerinde koşturuyor.
2011-07-28
Stop / Start SQL Server Agent Service With T-SQL
Zaman zaman çalışan SQL Server Agent servisini durdurmak yada duran SQL Server Agent servisini ise başlatmak ihtiyacımız olur. Bu ihtiyacımızı sunucuya bağlanıp servisin durumunu değiştirmek yada Central Management Server altından ilgili sunucunun Central Management Server Actions, Service Control altından yapabiliriz. Ama tüm bu seçenekler biraz uzun ve uğraştırıcı olduğu için SSMS üzerinden T-SQL ile servislerimi nasıl yönetirim diyenler cevabını aşağıda bulabilir:
Durmuş olan SQL Server Agent servisini aşağıdaki extended stored procedure yardımıyla başlatabilirsiniz:
exec xp_servicecontrol N'start',N'SQLServerAGENT'
Çalışan SQL Server Agent servisini aşağıdaki extended stored procedure yardımıyla durdurabilirsiniz:
exec xp_servicecontrol N'stop',N'SQLServerAGENT'
xp_servicecontrol extended stored procedure aşağıdaki parametreleri alır:
Durmuş olan SQL Server Agent servisini aşağıdaki extended stored procedure yardımıyla başlatabilirsiniz:
exec xp_servicecontrol N'start',N'SQLServerAGENT'
Çalışan SQL Server Agent servisini aşağıdaki extended stored procedure yardımıyla durdurabilirsiniz:
exec xp_servicecontrol N'stop',N'SQLServerAGENT'
xp_servicecontrol extended stored procedure aşağıdaki parametreleri alır:
- start
- stop
- pause
- continue
- querystate
2011-07-27
SQL Server Version, Service Pack, Edition ve Cluster Bilgilerilerini Alma
SQL Server'ınızın build number'ının kaç olduğunu, hangi service pack'ın ve hangi sürümün kurulu olduğu ile birlikte cluster olup olmadığını aşağıdaki sorgu ile öğrenebilirsiniz:
SELECT SERVERPROPERTY('productversion') As Version,
SERVERPROPERTY ('productlevel') As ServicePack,
SERVERPROPERTY ('edition') As Edition,
SERVERPROPERTY('IsClustered') As isClustered
SELECT SERVERPROPERTY('productversion') As Version,
SERVERPROPERTY ('productlevel') As ServicePack,
SERVERPROPERTY ('edition') As Edition,
SERVERPROPERTY('IsClustered') As isClustered
2011-07-19
SQL Server 2008 SP1 & SP2 için CU Çıktı!
SQL Server 2008 SP1 ve SP2 için yeni CU'ler yayınladı. SQL Server 2008 SP1 için CU15; SQL Server 2008 SP2 için CU5 yayınlandı. CU'ler ile ilgili makalelere aşağıdaki bağlantılardan ulaşabilirsiniz:
KB #2555406 : Cumulative update package 15 for SQL Server 2008 Service Pack 1
KB #2555408 : Cumulative update package 5 for SQL Server 2008 Service Pack 2
KB #2555406 : Cumulative update package 15 for SQL Server 2008 Service Pack 1
KB #2555408 : Cumulative update package 5 for SQL Server 2008 Service Pack 2
SQL Server 2008 R2 SP1 CU1 Çıktı!
SQL Server 2008 R2 SP1; RTM sürüm için çıkan CU7 ve CU8 kapsamıyordu. Geçen hafta çıkan SQL Server 2008 R2 SP1 için bugün CU1 yayınlandı. Yayınlanan CU1: RTM CU7 ve CU8 deki fixleri kapsıyor.
KB #2544793 : Cumulative update package 1 for SQL Server 2008 R2 Service Pack 1
Geçen hafta yayınlanmış olan SQL Server 2008 R2 SP1 http://www.microsoft.com/download/en/details.aspx?id=26727 adresinden indirebilirsiniz.
Yayınlanan her türlü SP, CU'yu veritabanı sisteminize kurmadan önce muhakkak test etmenizi öneririm!
KB #2544793 : Cumulative update package 1 for SQL Server 2008 R2 Service Pack 1
Geçen hafta yayınlanmış olan SQL Server 2008 R2 SP1 http://www.microsoft.com/download/en/details.aspx?id=26727 adresinden indirebilirsiniz.
Yayınlanan her türlü SP, CU'yu veritabanı sisteminize kurmadan önce muhakkak test etmenizi öneririm!
2011-07-12
SQL Server Code Name "Denali" CTP3
SQL Server Code Name "Denali" CTP3 versiyonunu http://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/default.aspx adresinden indirebilirsiniz.
SQL Server Code Name "Denali" ile ilgili kaynaklar:
SQL Server Code Name "Denali" ile ilgili kaynaklar:
- Whitepaper: SQL Server-What's New
- Video: SQL Server and the Data Explosion
2011-07-07
SQL Server Kurulu Sunucularda Antivirus Kurmak
Veritabanı sunucunuza bir virüsün musallat olup sisteminizi işleyemez hale getirmesi, sizin için en kötü senaryolardan birisi olsa gerek. Veritabanı sisteminiz çalışmadığı zaman kurumda hayat durur. Çünkü kurumdaki tüm uygulamaların can damarı veritabanıdır. Can damarından vurulmuş bir kurumun iş sürekliliği yada disaster'ı yoksa toparlanması çok zor olabilir. Veritabanı sistemi ayakta olmayan bir kurum ayakta değildir! Bu yüzden veritabanı sisteminizi olası virüs saldırılarına karşı korumanız gerekir. SQL Server kurulu veritabanı sunucularına antivirüs kurmaya çoğu DBA soğuk bakar. Soğuk bakmasının temel sebepleri: antivirüs programının ne zaman ne yapacağının tam olarak kestirilememesi, veritabanı sistemine ait bir bileşenin antivirüs tarafından blocklanabilme ihtimali, veritabanı sistem performansının düşme riski vb. gibi risklerdir. Bu riskleri minimize etmek için antivirüs programlarında çeşitli ayarların yapılması gerekir. SQL Server kurulu sunuculardaki antivirüs'lerde aşağıdaki adımlar exclude edilmelidir:
- SQL Server Veri Dosyaları
- .mdf
- .ldf
- .ndf
- SQL Server Backup Dosyaları
- .bak
- .trn
- Fulltext Katalog Dosyaları
- Eğer kurulu ise SQL Analysis veri dosyalarının barındığı dizin
- Eğer sunucu cluster ise
- Quorum Disk Sürücüsü
- C:\Windows\cluster
- Genel internet erişiminin engellenmesi,
- Firewall'ın açık hale getirilmesi,
- Diğer sunucular tarafından dosya çalıştırmaya izin vermeme, SQL'e erişim dışında bir yetki vermeme,
- Veritabanı sunucusunun HTTP server olarak kullanılmaması(IIS yada Apache çalıştırmama),
- Veritabanı sunucusunda file sharing'den kaçınmak.
2011-07-06
SQL ve Performans Üzerine
Bu gece twitter'da T-SQL Code Review da performans ile ilgili bir kaç hususu 160 karakter ile arzı endam eyledik, merak eden zevat bunları aşağıda bulabilir:
- T-SQL de WHERE koşulları eşitsizlik üzerine kurulu geliştiriciye eşittir i aşılamak gerekir.Zira tuttuğu yolun eşiti çıkmaz.
- Cross Joini Inner Joine dönüştüremeyen geliştiricinin tüm yolları CROSS dur, table/index SCAN dan bir türlü başını SEEK e çeviremez.
- SELECT * ı alışkanlık haline getirmiş bir geliştirici Network u kendisine tahsis edilmiş Formula 1 pisti zanneder. Kodu trafiği alt üst eder!
- İyi bir SQL ci az kod ile çok şey alabilendir; çok şey ile az kaynak tüketendir; veriyi disk yerine cache den okutabilendir.
- Kodu ORDER BY a alışmış olan kişileri ORDER BY (hizaya çekmek) yapmak zordur.
- Çok büyük kayıtlara sahip Temp Table kullanma hastalığına yakalanmış bir geliştiriciyi Physical Table Hastanesinde tedavi etmek gerekir.
2011-07-04
LOGINPROPERTY
Login policy ayarları hakkında bilgi verir.
Syntax:
LOGINPROPERTY ( 'login_name' , 'property_name' )
Parametreler:
login_name: Hakkında bilgi alınacak SQL Server login adı
propertyname: Login için bazı özellik bilgileri geri döndürür. Propertyname aşağıdaki değerlerden birini olabilir:
BadPasswordCount : Yanlış bir parola ile girişlerin ardışık denemelerinin sayısını döndürür.
BadPasswordTime : Yanlış bir parola ile giriş yapmak için son girişim zamanını döndürür.
DaysUntilExpiration : Parolanın süresi kadar gün sayısını döndürür.
DefaultDatabase : Kullanıcının giriş için default veritabanını döndürür.
DefaultLanguage : Kullanıcının giriş için varsayılan dilini döndürür.
HistoryLength : Şifre politikası uygulama mekanizmasını kullanarak, giriş için izlenen parola sayısını döndürür. 0: Password Policy uygulanmıyorsa. 1: Password Policy uygulanıyorsa.
IsExpired : Oturum açma süresinin dolup dolmadığı hakkında bilgi verir.
IsLocked : Loginin kilitli olup olmadığı hakkında bilgi verir.
IsMustChange : Bir sonraki girişte şifrenin değiştirilmesinin gerekip gerekmediğini hakkında bilgi verir.
LockoutTime : Lock tarihini geri döndürür.
PasswordHash : Şifrenin hash halini geri döndürür.
PasswordLastSetTime : Geçerli parolanın set edildiği tarihi döndürür.
Not: Login üzerinde VIEW yetkisini gerektirir. Password Hash için CONTROL SERVER yetkisini gerektirir.
Örnek-1: Mehmet kullanıcısının bir sonraki oturumda şifresinin değiştirilmesinin zorunlu olup olmadığını kontrol edelim
SELECT LOGINPROPERTY('mehmet', 'IsMustChange');
Örnek-2: Mehmet kullanıcısının lock olup olmadığını kontrol edelim
SELECT LOGINPROPERTY('mehmet', 'IsLocked');
Örnek-3: Lock olan tüm kullanıcıların listesini aşağıdaki T-SQL ile alabilirsiniz:
select name
from sys.server_principals
where loginproperty(name, 'IsLocked') =1
Syntax:
LOGINPROPERTY ( 'login_name' , 'property_name' )
Parametreler:
login_name: Hakkında bilgi alınacak SQL Server login adı
propertyname: Login için bazı özellik bilgileri geri döndürür. Propertyname aşağıdaki değerlerden birini olabilir:
BadPasswordCount : Yanlış bir parola ile girişlerin ardışık denemelerinin sayısını döndürür.
BadPasswordTime : Yanlış bir parola ile giriş yapmak için son girişim zamanını döndürür.
DaysUntilExpiration : Parolanın süresi kadar gün sayısını döndürür.
DefaultDatabase : Kullanıcının giriş için default veritabanını döndürür.
DefaultLanguage : Kullanıcının giriş için varsayılan dilini döndürür.
HistoryLength : Şifre politikası uygulama mekanizmasını kullanarak, giriş için izlenen parola sayısını döndürür. 0: Password Policy uygulanmıyorsa. 1: Password Policy uygulanıyorsa.
IsExpired : Oturum açma süresinin dolup dolmadığı hakkında bilgi verir.
IsLocked : Loginin kilitli olup olmadığı hakkında bilgi verir.
IsMustChange : Bir sonraki girişte şifrenin değiştirilmesinin gerekip gerekmediğini hakkında bilgi verir.
LockoutTime : Lock tarihini geri döndürür.
PasswordHash : Şifrenin hash halini geri döndürür.
PasswordLastSetTime : Geçerli parolanın set edildiği tarihi döndürür.
Not: Login üzerinde VIEW yetkisini gerektirir. Password Hash için CONTROL SERVER yetkisini gerektirir.
Örnek-1: Mehmet kullanıcısının bir sonraki oturumda şifresinin değiştirilmesinin zorunlu olup olmadığını kontrol edelim
SELECT LOGINPROPERTY('mehmet', 'IsMustChange');
Örnek-2: Mehmet kullanıcısının lock olup olmadığını kontrol edelim
SELECT LOGINPROPERTY('mehmet', 'IsLocked');
Örnek-3: Lock olan tüm kullanıcıların listesini aşağıdaki T-SQL ile alabilirsiniz:
select name
from sys.server_principals
where loginproperty(name, 'IsLocked') =1
Kaydol:
Kayıtlar (Atom)
.::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.
Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.