Kategori : SQL

Jul 24 2009

MSSQL Database Sistem Tabloları

syscolumns
sysobjects
sysusers
sysfiles
systypes

0 yorum - Gönderen : Mahmut Er (11:11 PM) - Kategori : SQL

Jul 23 2009

MSSQL MASTER Veritabanı Tabloları

Ana veritabanı üzerindeki sistem tabloları...

sysaltfiles
syslockinfo
syscacheobjects
syslogins
syscharsets

.......

Devamı ...

0 yorum - Gönderen : Mahmut Er (11:09 PM) - Kategori : SQL

Jul 23 2009

MSSQL'DE TARİHİN SAATİNİ 0 OLARAK ALMA.

Tarihi bugünden büyük olan kayıtları geçirmek için pratik bir SQL kodu,sunucu dilinde now diye bakmak yerine yada bugünün tarihisi saat olarak sıfırlatmak yerine bunu kullanmak çok daha mantıklı geliyor..

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))

Çıktısı : 2009-07-26 00:00:00.000

Normalde sunucu dilinde now() diye bakarsak bize şu anki saatide getireceğinden bugüne ait kayıtları almak için tarihi biraz editlemek gerekebilir,ama bu kod direkt olarak saati 00 olarak verdiği için editlemeye gerek kalmaz,

 

0 yorum - Gönderen : Mahmut Er (12:14 AM) - Kategori : SQL

Jul 22 2009

MSSQL Server Variables

MSSQL de çok sık kullanmasakda server bilgilerine ulaşmak zaman zaman gerekebiliyor.

@@language MsSql uygulamasında kullanılan dili döndürür
@@microsoftversion MsSql uygulamasının çalıştığı sunucunun versiyon bilgisini döndürür
@@servername MsSql uygulamasının çalıştığı sunucun adını döndürür
@@servicename MsSql uygulamasının kayıt defteri değerini döndürür
@@version MsSql uygulamasının versiyon bilgisini döndürür
@@connections MsSql uygulamasına son başlatıldığı andan itibaren gerçekleştirilen bağlantı sayısını döndürür
@@dbts MsSql uygulamasının zaman (timestamp) bilgisini döndürür
@@error Transact-SQL sorgularının çalıştırlması sonucunda oluşan hataların sayısını döndürür
@@identity Son eklenen değişkenin kimliğini döndürür
@@max_connections MsSql uygulamasının aynı anda karşılayabileceği maksimum bağlantı sayısını döndürür
@@options SET seçeneklerine ilişkin bilgileri döndürür
@@procid Çalışmakta olan store procedure’ nin id değerini döndürür
@@remserver Uzak MsSql veritabanı bilgisini döndürür
@@total_errors MsSql uygulamasının son başlatıldığı andan itibaren disk yüzeyine yazma/okuma
hatalarının sayısını döndürür

0 yorum - Gönderen : Mahmut Er (11:02 PM) - Kategori : SQL

Jul 21 2009

SQL Injection nedir?

Injection ingilizce bir kelimedir ve anlamı enjekte etmektir.Buradan da anlaşılacağı gibi SQL'e dışarıdan müdehale ile kod enjekte etmeye sql Injection denir.Bunu yapanlar herhangi bir sisteme kaçak olarak girmeye çalışan kötü niyetli insanlardır.SQL Injection yapmak için anahtar kelime ‘ or 1=1 -– ifadesidir..Bu ifadenin açılımı şudur;ilk gelen '(tırnak işareti)  ile query stringiniz kesilir,yani sonlandıdırlır,ondan sonraki ifade de veya 1=1 ise ilede her şekilde queryimizden sonuç dönmesi sağlanır.sonraki -- (2 tire) ifadeside query'in bundan sonraki kısmını kapatma işlemi görür...

Devamı ...

1 yorum - Gönderen : Mahmut Er (10:17 PM) - Kategori : SQL

Jul 20 2009

MSSQL de SCHEMA ile tablo ve viewlerin tüm değerlerini listeleme..

Çok sıkça ihtiyaç duymasakta bazen gerçekten çok ama çok gereklidir bir tablo yada view'in columlarına ait bilgiler.Aşağıdaki kod ile ister database'inizin içinde tüm tablo ve viewlere ait özellikler istersenizde istediğiniz herhangi bir tablo yada view'in tüm detay bilgilerini alabilirsiniz.Bunların arasında,kolon adları,veri tipleri,max uzunlukları,zorunluluk seçenekleri vs.vs....

Devamı ...

0 yorum - Gönderen : Mahmut Er (10:05 PM) - Kategori : SQL

Jul 19 2009

MSSQL uniqueidentifier VERI TIPI

uniqueidentifier veri tipini MSSQL de benzersiz ID değerleri vermek için kullanıyoruz,normalde bunu IDENTITY ilede yapabiliriz tabiki ama burda uniqueidentifier'in özellikle WEB uygulamalarında bir nevi güvenlik özelliğini kullanıyoruz.Örnek vermek gerekirse;Örneğin bir internet siteniz var ve içerisinde kullanıcılarınız mevcut,browser üzerinde kullanıcıların detay bilgilerini göstermek için şöyle bir adrese yönlendiriyorsunuz...

siteadı...................&kullanici_id=65 böyle bir url adresinde sizinde tahmin ettiğiniz üzere 65 numaları ID'ye sahip kullanıcıların bilgileri görüntülenecektir,eğer siteyi ziyaret eden kullanıcı bu 65 değerini değiştirirse mesela gitti orayı 89 yaptı,bu sefer de 89 ID'li kullanıcıın bilgilerine erişmiş oldu bunu engellemek için bunu yapan kullanıcının yetkilerine bakarak bir kısıtlandırma yapabiliriz kullandığımız yazılım dili ile ancak yetkilendirme yapmaksızın bunu engellemek isterseniz uniqueidentifier  veri tipi sizin için bir çözüm oluşturabilir..

Devamı ...

1 yorum - Gönderen : Mahmut Er (9:40 PM) - Kategori : SQL