6 Şubat 2013 Çarşamba

Index’lerin fragmentation değerlerini öğrenmek

İndexlerimizin fragmentation yani bozulan oranları öğrenmek için aşağıdaki kodu T-sql'de çalışıyoruz.

Use ademcinar
GO
SELECT
      ps.object_id,
      i.name as IndexName,
      OBJECT_SCHEMA_NAME(ps.object_id) as ObjectSchemaName,
      OBJECT_NAME (ps.object_id) as ObjectName,
      ps.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, 'LIMITED') ps
INNER JOIN sys.indexes i ON i.object_id=ps.object_id and i.index_id=ps.index_id
WHERE avg_fragmentation_in_percent > 5 AND ps.index_id > 0
ORDER BY avg_fragmentation_in_percent desc




Çıkan sonuçta avg_fragmentation_in_percent değeri %30'dan büyük ise indexleri rebuild ile düzeltebiliriz.Eğer %30'dan küçük ise reorganize ile düzeltebiliriz.
Bir sonraki makalede indexrebuild ve reorganize işlemlerini anlatacağım


INSERT statement failed because data cannot be updated in a table with a columnstore index. Consider disabling the columnstore index before issuing the INSERT statement, then rebuilding the columnstore index after INSERT is complete

"INSERT statement failed because data cannot be updated in a table with a columnstore index. Consider disabling the columnstore index before issuing the INSERT statement, then rebuilding the columnstore index after INSERT is complete" Hata Çözümü

Bu Hata ColumStore İndex yapısını kullandığımız indexlerde karşımıza çıkar, sebebi ColumStore indexlerde insert,update ve delete işlemi yapmanıza izin vermez.insert yapıcağımızda ColumStore indeximizi disable yapıp insert yapabiliriz,insert işlemi bittikten sonra tekrar rebuild yapabiliriz. Aşağıdaki Örnekteki Gibi.

Çözümü ise;
--indexi disable ettik
alter index NCColumnStoreIndex-Test  on dbo.Kisiler disable
Go
-- kayıt ekledik
insert  dbo.Kisiler (ad,soyad) values('Adem','Çınar')
Go
--index tekrar aktif hale getirdik
alter index NCColumnStoreIndex-Test  on dbo.Kisiler rebuild
Go 

1 Şubat 2013 Cuma

Windows Phone İnternet Kontrolü

Windows Phone projelerimizde eğer İnternet üzerinden işlem yapacağımız zaman.İnternet kontrolünü mutlaka eklememiz gerek.Eklemediğimiz takdirde Store tarafından olumsuz yanıt alırız.
İnternet Kontrolü yapmak için aşağıdaki metodu ilk açılacak sayfamıza eklemeliyiz.

  if (!NetworkInterface.GetIsNetworkAvailable())
  {
   MessageBox.Show("İnternet Bağlantınızı Kontrol Ediniz...", "İnternet", MessageBoxButton.OK);
}

yukarıda GetIsNetworkAvailable metodunu çağırarak telefonda üzerinde İnternet olup olmadığını kontrol edip kullanıcıya uyarı verdik.