2020-06-23

Sızma Teşebbüsünde SQL Server Error Log Mesajları

Sızma testi(Pentest) yada gerçek sızma teşebbüslerinde SQL Server Error Log'da aşağıdaki mesajları birden çok kez görebilirsiniz. SQL Server Error Log'da aşağıdaki uyarıları bir yada birden çok kez gördüğünüzde Bilgi Güvenliği/Sistem Güvenliği ekipleri ile iletişime geçip veritabanı sisteminizi gözden geçirmenizde fayda var.
1.       Length specified in network packet payload did not match number of bytes read; the connection has been closed. Please contact the vendor of the client library. [CLIENT: X.X.X.X]

2020-03-05

Deprecated SQL Server Features

Deprecated Features, bir ürün için kullanımdan kaldıracak özellikleri ifade eder. Kaldırılacağı açıklanan özellikleri kullanmaktan kaçınıp; önerilen alternatif özellikler ile değiştirmek gerekir.

2020-02-19

Bir security gruba dahil olduğunuz halde o security grubun yetkilerini alamıyorsanız

SQL Server tarafında bir security grubun yetkisi varken bu gruba eklenen bir kullanıcının "hala yetkim yok" sıklıkla karşılaştığımız durumlardandır. Active Directory tarafında alınan ticket'lar belli bir süre Kerberos ticket cache'de tutulur ve ilgili session bu cache'deki ticketları kullanır. Bir security gruba dahil olduğunuz halde o security grubun yetkilerini alamamanızın sebebi Kerberos ticket cache'de bu bilginin olmamasından kaynaklanıyor. Dahil olduğunuz security grubun yetkilerini kullanamıyorsanız:
    1. Kerberos ticket cache'ın bir süre sonra otomatik yenilenmesini(bu süre saatler olabilir) bekleyebilirsiniz.
    2. Oturumunuzu Logoff / Logon yaparak Kerberos ticket cache'ın yenilenmesini sağlayabilirsiniz.
    3. Komut satırından klist purge komutunu çalıştırarak Kerberos ticket cache'ı kendiniz temizleyebilirsiniz.

      Ticket lerin detayını görmek için komut satırından klist tickets komutunu kullanabilirsiniz.

2020-02-07

SQL Server'ın yeni çıkan bir versiyonuna ne zaman geçmeliyim?


Eskiden SQL Server'ın yeni sürümüne geçiş için genellikle kararlılık açısından yeni versiyonun ilk  SP'sinin çıkması beklenirdi fakat Microsoft, SQL Server 2017 sürümünden itibaren politika değişikliğine gidip SP çıkarmıyor sadece CU çıkarıyor ve ihtiyaç varsa GDR  çıkarıyor. Bu yüzden eski alışkanlıkları değiştirmek gerekiyor. 

Yeni versiyon için benim tavsiyem en azından ilk CU sonrası testlerinizi sağlıklı yaptıktan sonra üst sürüme geçiş yapabilirsiniz.



Microsoft'un 2017 yılındaki politika değişikliği ile ilgili ayrıntılı bilgiye ve bir çok sorunun cevabına 

https://docs.microsoft.com/tr-tr/archive/blogs/sqlreleaseservices/announcing-the-modern-servicing-model-for-sql-server adresindeki dokümandan ulaşabilirsiniz.


SP: Service Pack
CU: Cumulative Update
GDR: General Distribution Release

2020-01-22

SQL Server'da En Çok Karşılaşılan Bağlantı Hataları ve Çözümleri

  1. SSMS üzerinden veritabanı sunucusuna hiç erişemiyorum.
    Alınan Genel Hata : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

2020-01-14

Could not allocate space for object 'sys.sysfiles1'.'sysfiles1' in database 'VeritabanıAdı' because the 'FileGroupAdı' filegroup is full

Alınan Hata:
"Could not allocate space for object 'sys.sysfiles1'.'sysfiles1' in database 'VeritabanıAdı' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup."

Çözüm: 
İgili veritabanın birincil .mdf dosyasının 
  1. Auto growth değeri disable ise enable yapabilirsiniz.
  2. Max size verilmiş ise unlimited yapabilirsiniz.

2019-12-27

SAS Enterprise Guide'de Her Seferinde Tablodaki Tüm Kayıtların Gelmesini Önleme

SAS Enterprise Guide yazılımındaki kullanıcılar bir tablo özelinde sorgu yazmak istediklerinde bir tabloyu tıklayınca her seferinde tablonun tamamının sorgulanması veritabanı sistemine yük getirir. Hele hele tablolarnız TB seviyesinde çok büyük ise  veritabanı sisteminize gelen bu gereksiz yükü SAS özelinde aşağıdaki dizindeki EGOptions.xl tablosunda ufak bir değişiklik yaparak önleyebilirsiniz.

Dizin ve dosya adı: C:\Users\@KullanıcıKodu\AppData\Roaming\SAS\EnterpriseGuide\@Version\EGOptions.xml

Yapılacak Değişiklik:

<bAutoDisplayData>true</bAutoDisplayData> true değerini <bAutoDisplayData>false</bAutoDisplayData> false
yapmak.


Not :
@KullanıcıKodu ve @Version değişkenlerini ortamınıza uygun olması gereken değer ile değiştirmelisiniz.

2019-12-08

Spotlight on SQL Server Uygulamasının SQL Scriptleri Nerede Tutuluyor?

SQL Server veritabanı sisteminin sağlık durumu izlemek için kullanılan araçlardan birisi olan Spotlight on SQL Server uygulamasının kullandığı scriptleri aşağıdaki dizinde bulabilirsiniz. Script konusunda uzmanlığınız varsa kendinize göre mevcut scriptleri iyileştirebilir yada özelleştirebilirsiniz.

C:\Program Files (x86)\Quest Software\Diagnostic Server\Agent\conf\Package\sqlserver_spotlight

2019-12-06

Tüm Login ve Tüm Windows Group Altındaki Tüm Loginlerin Listesini Alma

/*
Bir instance altındaki tüm login'leri ve Windows group altındaki tüm kullanıcıların listesini aşağıdaki T-SQL bulabilirsiniz
*/

2019-11-28

Bir Kullanıcıyı Tüm Veritabanlarından Silmek

/*
Bir kullanıcıyı bir instance altındaki tüm veritabanlarından silmek için aşağıdaki T-SQL script'i kullanabilirsiniz:
*/

2019-11-07

Çalıştırılan Komut İçeriğinden Job Adını Bulma

Çalıştırılan komut içeriğinden SQL Server job adını aşağıdaki kod ile bulabilirsiniz:

select j.name
from msdb.dbo.sysjobs j
inner join msdb.dbo.sysjobsteps js on  j.job_id=js.job_id
where js.command like '%Aranılacak içerik%'

2019-07-31

SQL Server en son ne zaman start oldu?

SQL Server servisinin en son ne zaman başladığını aşağıdaki sorgu ile bulabilirsiniz:

SELECT sqlserver_start_time
FROM sys.dm_os_sys_info

2019-04-02

2018-10-15

Tüm Kullanıcı Veritabanlarındaki sys.sql_modules Kod Satır Sayısını Bulma

Merhaba,

Tüm kullanıcı veritabanlarındaki  procedure, replication-filter-procedure, view, trigger, function, inline table-valued function, table-valued-function satır sayısınını aşağıdaki T-SQL ile bulabilirsiniz:

2016-03-18

SCOM'da Alınan "SQL Agent Job discovery script 'SQLAgentJobDiscovery.vbs' for SQL instance" Hatası ve Çözümü

Alınan Hata:

Alert: MSSQL 2014: Discovery failed

Source: SunucuIntanceNeme.DomainName.com
Path: SunucuIntanceNeme.DomainName.com
Last modified by: System
Last modified time: 3/17/2016 15:58:35 AM Alert description: Management Group: Management Grup 1. Script: SQLAgentJobDiscovery.vbs. Instance: MSSQLSERVER : SQL Agent Job discovery script 'SQLAgentJobDiscovery.vbs' for SQL instance 'MSSQLSERVER'  failed.

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-29

Çalıştırdığınız Bir Sorgu Bittiğinde Uyarı Sesinin Çıkması

Merhaba,
 
SSMS üzerinde çalıştırdığımız bazı sorgular uzun sürer ve bu süre içerisinde başka işlerle uğraşırız. Başlattığımız bir sorgunun bittiğini bir ses uyarısı ile alırsak güzel olur. Bunun için SSMS'da çalıştırdığınız bir sorgu bittiğinde Windows'un default sesinin çıkmasını isterseniz SSMS'da Tools  - > Options'dan aşağıdaki gibi ayarlabilirsiniz:
 

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

SQL Server 2016 CTP 2.1 İlk Bug!

SQL Server 2016 CTP 2.1 sürümünün ilk bug'ı Database Properties -> Compatibility level ile karşımıza çıkıyor: SQL Server 2016 yerine SQL Server 2015 yazıyor :)

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.

SQL Server 2016 Community Technology Preview 2.1

SQL Server 2016 Community Technology Preview 2.1  sürümünü http://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2016?WT.mc_id=Blog_SQL_Announce_DI adresinden indirip, test edebilirsiniz. Bu sürüm Stretch Database, Query Store, Temporal  ve Columnstore Index gibi özelliklerde iyileştirmeler barındırıyor. Yapılan iyileştirmeler ile ilgili detaylı bilgiye Technet'ten ulaşabilirsiniz.


    

.::YASAL UYARI::.

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