2011-03-27

Fragmente Indeksleri Rebuild Etme

İndekslerin fragmente olması istenmeyen bir durumdur. Fragmente olan indexlerin belirli periyotlarda rebuild/reorganize edilmesi gerekir.

Veritabanızda fragmente oranı %30 un üzerinde üzerinde olan indeksleri bulup rebuild eden T-SQL kod aşağıdaki gibidir:

declare @SQLstmt varchar(max)

set @SQLstmt =''
select @SQLstmt =@SQLstmt + 'alter index ' + i.name + ' on ' + object_name(s.object_id ) + ' rebuild with(online=on);--pagecount:' + cast(s.page_count as varchar(16)) + '
'
from sys.dm_db_index_physical_stats(db_id(db_name()),null,null,null,null) s
inner join sys.indexes i on s.object_id=i.object_id and s.index_id=i.index_id
where s.avg_fragmentation_in_percent>30
and s.index_id>0
order by s.page_count

exec(@SQLstmt )

Dilerseniz aynı işlemi dinamik tek bir SQL cümlesi yerine cursor ile de halledebilirsiz.

2011-03-25

Bilişim Zirvesi 2011 Sunum ve Video Görüntüleri

Microsoft Bilişim Zirvesi 2011'e katılamayanlar yada zirveye katılıp ta zirvedeki sunum ve video görüntülerine ulaşmak isteyenler http://www.microsoft.com/turkiye/cloud/localEvents.aspx adresinden ulaşabilirler.

2011-03-24

SQL Server Profiler Template Dosyaları Nerde Tutulur?

SQL Server Profiler uygulamasında oluşturmuş olduğumuz template'ler diskinizin belli bir lokasyonunda tutulur. Bu lokasyonlar SQL Server 2005 ve SQL Server 2008 için aşağıdaki gibidir:


SQL Server Profiler 2008 için template dizini:
C:\Documents and Settings\KullaniciKodunuz\Application Data\Microsoft\SQL Profiler\10.0\Templates\Microsoft SQL Server\100


SQL Server Profiler 2005 için template dizini:
C:\Documents and Settings\KullaniciKodunuz\Application Data\Microsoft\SQL Profiler\9.0\Templates\Microsoft SQL Server\90

2011-03-23

İş Kritik Uygulamalar için Performans Semineri

Tarih: 28 Mart 2011 Pazartesi
Saat : 09.00 - 16.15
Yer  : Microsoft İstanbul Ofisi

İş kritik uygulamalar konusunda çalışan veri platformu mimarları için düzenlenecek seminer serisinin ilki “İş Kritik Uygulamalar için Performans” konusuyla gerçekleştirilecek.

İş kritik uygulamaların performansı kurumların arzu ettikleri hizmet seviyelerini müşteri ve iş ortaklarına sağlayabilmeleri açısından yüksek önem taşır. Bu seminerde özellikle iş kritik uygulamalarınızın üzerinde çalıştığı SQL Server veritabanlarının izlenmesi ve performans iyileştirmesi konularına yer verilecektir.

Seminer Microsoft SQL Server geliştirme ekibinde de çalışmış, konusunda 15 yılı aşkın tecrübesi bulunan Ramesh Meyyappan tarafından İngilizce verilecektir.

Gündem

09.00 - 09:30 Karşılama ve İkram
09.30 - 10.45 Monitoring and Tuning CPU, memory & Disk utilization to reduce Total Cost of Ownership (TCO) - Part I
10.45 - 11.00 Kahve Arası
11.00 - 12.15 Monitoring and Tuning CPU, memory & Disk utilization to reduce Total Cost of Ownership (TCO) - Part II
12.15 - 13.00 Öğle Yemeği
13.00 - 14.15 Monitoring and Tuning Query Execution and Locking Part I
14.15 - 14.45 Ara
14.45 - 16.00 Monitoring and Tuning Query Execution and Locking - Part II
16.00 - 16.15 Soru ve Cevap

2011-03-14

SQL Azure'da Limitler ve Kısıtlamalar









SQL Azure'da aşağıdaki limit ve kısıtlamalar söz konusu olup; SQL Azure geçmeyi düşünenlerin bu limit ve kısıtlamaları göz ardı etmemesi gerekir:


  1. SQL Azure veritabanlarına OLEDB ile erişim desteklenmiyor.
  2. Sadece TCP/IP protokolu ile erişim destekleniyor, diğer protokoller ile erişim desteklenmiyor.
  3. SQL Azure ile SQL Server browser desteklenmiyor.
  4. SQL Azure ile Attach ve Restore komutları desteklenmiyor.
  5. SQL Server Agent yada joblar desteklenmiyor.
  6. SQL Azure'da Distributed Transaction desteklenmiyor.
  7. Database Collation olarak sadece SQL_LATIN1_GENERAL_CP1_CI_AS ı destekliyor; diğer collation lar desteklenmiyor. Diğer collation'ları tablo alanı bazında destekliyor.
  8. SQL Azure da oluşturduğunuz her tabloda clustered index'in olması zorunlu(SQL Azure heap ı desteklemiyor) yoksa insert'leriniz hata alır.
  9. Her SQL Azure Server maksimum 150 veritabanını destekliyor(master veritabanı + 149 kullanıcı veritabanı). 
  10. SQL Azure için her bir veritabanı için maximum size 50 GB ile sınırlı.
  11. SQL Azure'da Windows Authentication desteklenmiyor.
  12. SQL Azure'da veritabanları arası geçiş yapan USE komutu kullanılamıyor.
  13. SQL Azure'da Transactional Replication desteklenmiyor.
  14. SQL Azure'da Database Mirroring desteklenmiyor.
  15. SQL Azure'da Log Shipping desteklenmiyor
  16. Azure platformunda SSIS servisi kullanılamıyor.
  17. SQL Azure'da sadece Management Studio'nun  SQL Server 2008 R2 sürümü ile erişilebiliniyor. Daha eski versiyonlardaki Management Studio'lar ile erişemiyorsunuz.
  18. SQL Azure, SQL Server 2008 deki tüm T-SQL leri desteklemiyor. Desteklenmeyen T-SQL'lere http://msdn.microsoft.com/en-us/library/ee336253.aspx  adresinden ulaşabilirsiniz. 
Kaynaklar:
  1. Comparing SQL Server with SQL Azure
  2. Guidelines and Limitations in SQL Azure

2011-03-08

SQL Server Üzerinde Denetim ve Güvenlik Semineri

17 Mart 2011 Perşembe günü 10:00-11:00 saatleri arasında gerçekleştirilecek web seminerinde SQL Server üzerinde, özellikle veritabanı yöneticileri için denetim ve güvenlik yöntemlerinin ele alınacağı, SQL Server’in güvenlik mekanizması, loglama mekanizması, server ve veritabanı denetimi yöntemlerinin ayrıntılı bir biçimde incelenecektir. Osman ÇOKAKOĞLU'nun sunacağı web seminerine katılmak isteyenler Microsoft'un Canlı Web Yayınları Etkinlikleri sayfasından kayıt olabilirler.

2011-03-05

Tempdb Veritabanını Taşıma

Moving Tempdb
Sistem veritabanlarından tempdb veritabanı SQL Server servisi her start olduğunda tekrardan oluşur. Tempdb'yi taşımak için:
  1. tempdb veritabanının data ve log dosyalarının lokasyonunu değiştirmek gerekir
  2. SQL Server servisinin restart edilmesi gerekir.
Örneğin:  tempdb veritabanını D:\MSSQL dizinine taşımak için aşağıdaki SQL kodlarını çalıştırıp, SQL Server servisini restart etmek gerekir:

use master
go
alter database tempdb modify file (name = tempdev, filename = 'D:\MSSQL\tempdb.mdf')
go
alter database tempdb modify file (name = templog, filename = 'D:\MSSQL\templog.ldf')
go

2011-03-03

Password'u Boş Olan SQL Kullanıcılarını Bulma

SQL Server 2005/2008 de password u boş olan SQL kullanıcılarını aşağıdaki SQL ile bulabilirsiniz:

select name
from sys.sql_logins
where pwdcompare('', password_hash) = 1


Yine aynı şekilde şifresi abc olan SQL kullanıcıların listesini aşağıdaki SQL ile alabilirsiniz:

declare @password sysname
set @password ='abc'
select name
from sys.sql_logins
where pwdcompare(@password, password_hash) = 1

@password değişkenini zayıf şifreleri içerecek şekilde genişletirseniz sisteminizde zayıf/tamin edilebilir şifreleri olan SQL kullanıcıların listesini alıp bu şifrelerin güçlü şifreler ile değiştirilmesini sağlayabilirsiniz.

Güvenlik için veritabanı sunucularınızda bulunan tüm SQL kullanıcılarınız için password policy uygulamayı unutmayın!

.::YASAL UYARI::.

©2004-2018 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

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