tempdb etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
tempdb etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

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-06-30

SQL Server 2016 : Tempdb Data File Sayısını Kurulum Sırasında Belirtin

 SQL Server 2016 sürümünden önce setup kurulumundan sonra tempdb veri dosyalarını kendimiz manuel tek tek eklerdik. Bu işlemi kolaylaştırmak için Tempdb Veritabanına Çoklu Veri Dosyası Ekleme yazısı ile tempdb veritabanına dilediğiniz kadar veri dosyası eklemek için daha önce script paylaşmıştım. Artık SQL Server 2016 sürümü ile birlikte Setup kurulumu sırasında tempdb sistem veritabanının data file sayısının belirtebiliyorsunuz. Geliştirilen bu yeni özellik için benim ek önerilerim:
  1. Hangi dosyayı hangi dizinde tutmak istediğimizi girebilsek,
  2. Dosya boyutunu da girebilseydik daha güzel olurdu.

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:

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-01-26

SQL Server Servisinin Başlangıç Tarihini Bulma

SQL Server servisi her start olduğunda tempdb yeniden oluşturulur. Bu yüzden tempdb veritabanının oluşma tarihi bize SQL Server servisinin başlama tarihini verir. SQL Server servisim ne zamandan beri açık diye merak edenler aşağıdaki sorgu ile cevaplarını bulabilirler:

select create_date
from sys.databases
where name = 'tempdb'

Aynı sonuca dm_os_sys_info DMV'sini kullanarak aşağıdaki kod ile de  ulaşabilirsiniz:

select sqlserver_start_time
from sys.dm_os_sys_info

2010-12-24

Tempdb Veritabanı Hakkında

Tempdb veritabanı:
  • SQL Server servisi restart olduğunda tekrardan oluşur.
  • Model veritabanını kullanarak oluşur.
  • Veritabanının recovery modelini daima SIMPLE olarak set edin.
  • Checkpoint yoktur.
  • Backup'ını alamazsınız.
  • Data için sadece bir filegroup olmalı ve logları bir log  dosyasında tutun.

.::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.