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

2016-03-09

Tablodaki İstatistikler En Son Ne Zaman Güncellendi?

Bir tabloda bulunan istatistiklerin en son ne zaman güncellendiğini ve ilgili istatistiğin hangi index yada alan üzerinde olduğunu aşağıdaki T-SQL ile bulabilirsiniz:

select
object_name(s.object_id) as TableName,
ic.name as ColumnName,
stats_date(s.object_id, s.stats_id) as StatisticsUpdate,
s.name as StatisticsName
from sys.stats s inner join sys.stats_columns sc on s.object_id=sc.object_id and s.stats_id=sc.stats_id
inner join sys.columns ic on ic.object_id=sc.object_id and ic.column_id=sc.column_id
where s.object_id=object_id(SchemaAdi.TabloAdi')

-- Yukarıdaki T-SQL SQL Server 2012/2014 sürümlerinde test edildi.

2016-02-24

Tempdb Veritabanını Ne Şişiriyor?

Tempdb Veritabanında yer işgal eden işlemleri aşağıdaki T-SQL ile bulabilirsiniz.

select ts.session_id,
sum(ts.internal_objects_alloc_page_count*8/1024) as task_internal_objects_alloc_page_mb,
st.text as sqltext,
sum(ts.internal_objects_alloc_page_count) as task_internal_objects_alloc_page_count,
sum(ts.internal_objects_dealloc_page_count) as task_internal_objects_dealloc_page_count
from sys.dm_db_task_space_usage ts inner join sys.dm_exec_requests er on ts.session_id=er.session_id
cross apply sys.dm_exec_sql_text(er.sql_handle) st
where internal_objects_alloc_page_count+ internal_objects_dealloc_page_count>0
group by ts.session_id,st.text
order by 2 desc


Not: T-SQL script SQL Server 2012/2014 versiyonlarında test edildi.

2015-11-24

SQL Server 2012 Service Pack 3

Beklenen SQL Server 2012 Service Pack 3 yayınlandı. SQL Server 2012 Service Pack 3, 37 adet düzeltme içeriyor. SQL Server 2012 Service Pack 3, SQL Server 2012 Service Pack 2 den sonra çıkan CU1 ile CU9 arasındaki CU barındırıyor.

Benim için önemli olan düzeltmelerin listesi aşağıdır:

2015-11-17

Default Data ve Log Dizinlerini Değiştirdiğim Halde Neden Hala Eski Dizin Değerleri Gözüküyor?

SQL Server 2008 ve öncesi sürümlerde Server Properties->Database Settings de Database Default Locations'da Data ve Log dizinlerini değiştirdiğimizde ilgili ekranda da bu değişiklerini görüyorduk ve yine bir veritabanı oluşturmak istediğimizde default dizinler en son değiştirdiğimiz dizin olarak görülüyordu.

2015-07-10

Registry'den Database Default Location Değerlerini T-SQL İle Okuma

SQL Server ile ilgili tutulan registry kayıtlarının değerini sunucuya bağlanmaya gerek kalmadan xp_instance_regread  extended stored procedure ile okuyabilirsiniz.

2015-06-26

AlwaysOn'da Backup'larınız Nerede Alınıyor?

AlwaysOn yapılandırılmış bir veritabanı sisteminde backup işlemlerinin şu an primary'den mi yoksa secondary'den mi alındığını aşağıda T-SQL ile öğrenebilirsiniz:

2015-06-25

Extended Events Dosyasını Okuma

Profiler ile yakaladığımız trace'lerin daha kapsamlı ve daha az eforla alınması için SQL Server 2008 ile birlikte Extended Events'ler geldi. Extended  Events ile topladığınız verileri dosyadan sys.fn_xe_file_target_read_file() fonksiyonu ile okuyabilirsiniz. Benim işime yarayan bazı değerleri aşağıdaki gibi aldım. Siz isterseniz ihtiyacınıza göre değiştirebilirsiniz.

2015-01-21

Database Restore İşleminin Ne Kadarı Bitti, Daha Ne Kadar Sürecek?

SQL Server'da başlattığınız bir database restore işleminin yüzde kaçının bittiğini, ne zaman başladığını, tahminen ne zaman biteceğini, ne kadar süre geçtiğini ve  daha ne kadar süreceğini  aşağıdaki T-SQL kod ile bulabilirsiniz:

2014-08-23

2014-07-24

Upgrade Sırasında CheckDB için Data_Purity Gerekli mi?

SQL Server 2000 yada öncesindeki sürümlerde oluşturulan veritabanlarında tablodaki alanların değer bütünlüğü kontrolü otomatik yapılmıyordu.

2014-07-23

Index İstatistikleri Ne Zaman Sıfırlanır?

SQL Server 2012 öncesi versiyonlarda bir tablonun index istatistiği SQL Server servisi restart olduğunda yada index drop/create olduğunda sıfırlanırdı. SQL Server 2012 ile birlikte bu durumlara ek olarak index rebuild olduğunda da index istatistiği sıfırlanıyor. Index istatistiğine bakılırken SQL Server 2012 ile birlikte gelen bu değişikliğin göz önüne alınmasında yarar var.

2013-12-11

Partition Scheme Bulma

Veritabanızda bulunan tabloların ve indekslerin bulunduğu partition scheme'ya aşağıdaki T-SQL ile bulabilirsiniz:

2013-12-08

2013-12-05

Veritabanında LDF Dosyası Olmadan MDF Dosyasını Attach Etme

Elinizde veritabanına ait MDF data dosyası var fakat LDF log dosyası yoksa yada LDF log dosyası bozuk ise aşağıdaki iki yöntem ile MDF dosyasından veritabanınızı oluşturabilirsiniz:

2013-06-20

Checkdb'nin En Son Yapıldığı Tarihi Bulma

Aşağıdaki sorguyu ilgili veritabanınızda çalıştırarak o veritabanında çalıştırılan Checkdb'nin en son yapıldığı tarihi bulabilirsiniz.

2013-04-30

Tempdb Veritabanına Çoklu Veri Dosyası Ekleme


Tempdb sistem veritabanına istediğiniz kadar veri dosyasını aşağıdaki T-SQL  script ile ekleyebilirsiniz:

2013-01-15

Kullanılmayan Stored Procedure Bulma

SQL Server servisinin başlatıldığı tarihten bu yana kullanılmayan stored procedure'leri aşağıdaki sorgu ile bulabilirsiniz:

2013-01-12

Server Role Sahip Kullanıcıları Bulma

SQL Server'da herhangi bir server role(sysadmin, setupadmin, serveradmin, dbcreator, diskadmin, processadmin, securityadmin) sahip tüm kullanıcıları aşağıdaki sorgu ile bulabilirsiniz:


use master
go
select p.name,sp.name  
from sys.server_principals  p
inner join  sys.server_role_members  pr  on  p.principal_id= pr.member_principal_id
inner join sys.server_principals sp on pr.role_principal_id=sp.principal_id
where sp.type='R'


--SQL Server 2008 de test edildi.

2012-12-26

Silinen Bir SQL Modülünün Kodunu Geri Kurtarma

İki tarih arasında sildiğiniz trigger, stored procedure, view, function'ın kodunu aşağıdaki T-SQL kodu ile alabilirsiniz:

declare @StartDate Datetime='2012-01-01',
@EndDate Datetime='2013-01-01'

select convert(varchar(max),substring([rowlog contents 0],33,len([rowlog contents 0]))) as [script]
from fn_dblog(null,null)
where [operation]='lop_delete_rows' and [context]='lcx_mark_as_ghost'
and [allocunitname]='sys.sysobjvalues.clst'
and [transaction id] in (select distinct [transaction id] from    sys.fn_dblog(null, null)
where context ='LCX_NULL'
and operation ='LOP_BEGIN_XACT'
and [transaction name]='DROPOBJ'
and  convert(nvarchar(11),[Begin Time]) between @StartDate AND @EndDate)
and substring([RowLog Contents 0],33,len([RowLog Contents 0]))<>0

Not: T-SQL kod SQL Server 2012 ile test edildi.

2012-11-15

SQL Server 2012 Service Pack 1 Çıktı!

Bir çok kişi ve kurumun SQL Server 2012'ye geçmek için beklediği SP1 geçen hafta Microsoft tarafından salıverildi. SP1 ile SQL Server 2012'deki 13 public KB  ve 35 internal (VSTS) bug fix edildi. SQL Server 2012 SP1 ile fix edilen bug'ların listesine http://support.microsoft.com/kb/2674319/en-us adresinden ulaşabilirsiniz.


SQL Server 2012 SP1 daha önce yayınlanan CU1 ve CU2'yi içeriyor. SQL Server 2012 için şu ana dek 4 adet CU yayınlandı. SQL Server 2012 CU3 yada CU4 kendi ortamlarına kuranların SP1'den sonra çıkacak CU1 beklemeleri gerekiyor. SP1 için CU1 tahminen 8 hafta sonra yani 2013 başında yayınlanacağını tahmin ediyorum.

SQL Server 2012 SP1 build numarası 11.0.3000 kolay hatırlanabilecek bir numara olarak karşımıza çıkıyor.

.::YASAL UYARI::.

©2004-2023 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.