Serdar BAYRAK

Yönetici

SQL Server Database Administrator

  • Toplam 59 Yazı
  • Toplam 4 Yorum

Error 4014 EventId

SQL Server 1 yıl önce

Bu yazıda SQL Server Error Loglarına düşen hata ilgili bilgi paylaşımı yapacağız. Event viewer Application logları, SQL Server Error loglarınında bilgisini topladığı için bu hataya ilişkin bilgiye Event viewer üzerinden de görüntülenebilecektir.   Error (Event ID: 4014): A fatal error occurred while reading the input stream from the network. The session will be terminated (input error: 0, output error: 0).   Event Viewer => Windows Logs=> Application; SQL Server Error Logs (Error 4014, Severity:20, State:11);   Bu hatanın loglara düşmesinde birden çok sebep olabilir. Bu hatanın düştüğü durumlarda kullanıcılar bazı sorunlar yaşayabilir. Sistemde yığılmalar meydana gelebilir ve Network Latency’ler meydana gelebilir. Teml sebep olarak bu hatanın düşmesine network katmanından gelen sessionların ISS katmanı ile veri tabanı katmanı arasında paket kayıplarından meydana gelmektedir. Büyük paketler içindeki sessionlar kendisine ait bilgiyi kaybettiğinde drop olabilmektedir. Yaşanabilecek olası sonuçların kök sebeplerine baktığımızda karşımıza bazı problemler çıkmaktadır. Bunlardan bazıları; SQL Server’da Implicit transaction’ların açık olması, […]

Windows RDP ile Giriş Yapan Kullanıcıların IP Bilgisini Öğrenme

Yazılım 1 yıl önce

Bu yazımızda, RDP ile bağlantı yapılan kullanıcı ve IP bilgileri nasıl bulunur bilgilerini öğreneceğiz. Özellikle veri tabanlarını yönetmek için çoğu Database Administrator bu yöntemi kullanılır. Bazı kullanıcılar local üzerinden TCP ile bağlantı yaparken bazıları da mRemoteG gibi istediği tüm sunucuları bir arada göreceği arayüz ile RDP yaparak sunuculara erişebilirler. Çoğu zaman büyük ekranda çalışabilme imkanı sunması, third party program hatası yaşanmaması ve sunucu kaynakları takibi için Windows’un kendi Remote Desktop (RDP) kullanmak daha doğru bir tercih olabilir. Remote Connection log bilgileri güvenlik katmanı yöneticileri için büyük öneme sahiptir. Bu log bilgilerine  Search > Event Viewer > Applications and Services Logs > TerminalServices-RemoteConnectionManager > Operational altında tutulmaktadır. Windows’ta bu loglar Default olarak 1MB’a kadar tutulmaktadır. Eğer bu loglar 1MB üzerine çıkarsa Windows en eski logları silip yeni connection loglarını oluşturmaktadır. Aşağıda sizlerle paylaşmış olduğumuz 2 script’ten ilki RDP Yapılan sunucu üzerine hangi IP ve hangi kullanıcı ile yapıldığı bilgisine erişebilirsiniz. İkinci […]

CDC Özelliğini Kullanan Veritabanının Restore Edilme Senaryoları

SQL Server 1 yıl önce

Bu yazımızda, cdc özelliğine sahip veri tabanlarının, aynı ve farklı Instance üzerinde aynı ve farklı isimlerle oluşturulması sonrası bu özelliğin, oluşturulan database’lerde aktif olarak devam etmesi ilgili işlemleri uygulayacağız. Aynı zamanda bu konu ile ilgili karşılaşılan hatanın çözümü üzerine konuşacağız. Konu hakkında daha detaylı bilgi almak için CHANGE DATA CAPTURE NEDİR? adlı makaleyi okumanızı tavsiye ederim. — İlk adımımız olan cdc'nin açık olduğu veri tabanlarını buluyoruz. select name,is_cdc_enabled from sys.databases   — CDC_TestDB Database oluşturulur. CREATE DATABASE [CDC_TestDB] ON  PRIMARY ( NAME = N'CDC_TestDB', FILENAME = N'F:\CDC_TestDB.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'CDC_TestDB_Log', FILENAME = N'F:\CDC_TestDB_log.ldf' , SIZE = 3840KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) GO   use [CDC_TestDB]; go — tablo oluşturma create table Personel ( perID int constraint PK_Personel primary key Identity(1,1) ,perName varchar(20) ) –CDC_TestDB database üzerinde CDC Aktif Etme USE [CDC_TestDB] […]

SQL Server Transaction Türleri ve Log Mekanizması

SQL Server 2 yıl önce

Bu başlıkta SQL Server’ın hayati mekanizmalardan biri olan log mekanizmasını ve bu mekanizma ile doğrudan ilişkili olan transaction’ları konuşacağız. Bu mekanizma derin bilgi ve deneyim gerektirmektedir. Bu makaleyi okuduktan sonra daha da bilgi almak için doğru kaynaklara başvurmanızı tavsiye ederim. Yazımıza dönersek eğer, SQL Server’da, veri tabanı kullanıcıları, uygulama geliştiricileri veya DBA’lar tarafından transaction işlemleri yapılabilmektedir. Bir transaction açıldığında özellikle DML (Update, delete, insert) işlemleri commit ve rollback durumuna girebilir. Commit durumunda transaction işlemi veri tabanına yansırken, rollback durumunda veri tabanına yansımayacak işlem geri alınacaktır. Bu durumu anlayabilmek için önce bir transaction’un nasıl davrandığını bilmemiz gerekmektedir. SQL Server’da 3 tür transaction operasyonu vardır. Auto-Commit Transaction Implicit Transaction Explicit Transaction Bu 3 operasyonlardan; Auto-Commit Transaction, default olandır. Örneğin Primary Key ve (1,1 ) artan Id alanı için aynı Id değerini manuel olarak Insert ettiğimizde, bize tabloya duplicate hatası vermesi. SQL Engine’in bu işlemi rollback yapmasıdır. SQL Server tarafından yönetilen bu mekanizmanın […]

BACKUP THREAD, LATCH_EX ve PREEMPTIVE_OS_WRITEFILEGATHER Bekleme Tipleri

SQL Server 2 yıl önce

SQL Server’ın en kritik yapılarından biri olan Lock Mekanizması, ACID yapısını korumak için kritik önem taşımaktadır. Bu yazımızda günlük rutin işlerimizden birini yaparken bu mekanizmanın devreye girmesinin sebep ve sonuçları üzerinde konuşacağız. Birçoğumuzun günlük, saatlik yada ihtiyaçlarına göre aldığı backuplar bulunmaktadır. Bu backupları ne zaman ve hangisi olacağı konusunda karar verirken veri tabanının Recovery Mode’u ile ilişkilidir. Yazıda bahsi geçen veri tabanımızın recovery modeli Full Mode ve Always On mimarisinde kullanılmaktadır. Bu problem SQL Server 2017 – CU 27 – Enterprise Edition ve Windows Server 2019 üzerinde yaşanmıştır. Aşağıdaki sunmuş olduğumuz çözüm adımları kritik adımlar olduğundan işlemleri başlatmadan önce bir profesyonelden teknik destek alınız ve danışınız. Sisteminizde PB (Petabayt) boyutlarına yakın büyük veri tabanına sahip olduğunuzda ve bu verinin büyük kısmı imaj verisi olduğunda backup süreniz günler sürebilmektedir. Ek olarak sisteminizde gün içerisinde yoğun transaction işlemleri gerçekleşiyorsa backup süreniz daha da uzayacaktır. Sistemimizde Backup başladıktan sonra VERIFY süresi ile birlikte […]

Read-Scale (Clusterless) Always On Failover Failed

SQL Server 2 yıl önce

Bu yazımızda Always On Mimarisinde Read-Scale bir ortamda bulunan Node’ların altında bulundan veri tabanlarının failover yapılması durumunda karşılaşılan hatanın çözümü üzerine konuşacağız. Daha önce Read-Scale Always On adlı makalemizde kurulumdan bahsetmiştik. Bu yazımızda bahsettiğimiz ortamlar üzerinden konuşarak çözüme ilişkin bilgiler paylaşacağız.   Problem: Data-Loss seçeneği ile bile failover yapılmaması. Cannot failover availability group ‘Read-Scale_AG’ to this instance of SQL Server.  The local availability replica is already the primary replica of the availability group. To failover this availability group to another instance of SQL Server, run the failover command on that instance of SQL Server. If local instance of SQL Server is intended to host the primary replica of the availability group, then no action is required. 1.Ortam ve 2.Ortam’da bulunan Availibility Group ve veri tabanı failover yapabilecek durumda olduğunu aşağıdaki gibi görebilirsiniz. ReadScale_DB isimli veri tabanımız, 1.Ortamımız olan SQLTEST1 ortamında Primary, 2.Ortamımız olan VTTEST2 Ortamında ise Secondary durumunda failover yapmaya […]

Adım Adım Read-Scale (Clusterless) Always On Kurulumu

SQL Server 2 yıl önce

Bu yazımızda iki farklı failover cluster içinde bulunan node’larda yer alan veri tabanlarının Always On özelliğinin kullanılabilmesi hakkında konuşacağız ve bunun için yapılması gerekenleri adım adım sırayla yaparak kurulumu gerçekleştireceğiz. Microsoft’un eski teknolojilerinden olan Database Mirroring’e alternatif olarak 2016 yılında standart edition ile birlikte  Basic Availability Group özelliğini getirdi (Sadece 1 adet Availiability Group Kurabilirsiniz). Fakat bu teknolojide otomatik failover özelliği yoktu ve 2017 yılında Read-Scale Availabilty Group teknolojisi getirdi bu sayede herhangi bir cluster kurmadan (Clusterless AlwaysOn) iki veya daha fazla farklı ortamdaki database’ler AlwaysOn özelliği ile birbirine bağlanabildi. Bu özellikle data okuması olan yerlerde Replication teknolojisinden kurtulmanıza da olanak sağlayacaktır. Bu özellik size manuel ve data kaybını göz önüne alarak failover yapma durumu sunmaktadır. Özellikle bu özelliği kullanmak isteyen kritik yerlerde kullanmak isteyenler bu durumu göz önüne almalıdırlar. Bu özelliği aktif etmek için aşağıdaki adımları sırasıyla izleyerek kurulumu tamamlayabilirsiniz. 1.Ortam 2.Ortam Step 1: İki farklı clusterda bulunan node’lar […]

SQL Server 2019 Full-Text Upgrade

SQL Server 2 yıl önce

Bu makalemizde SQL Server 2017’den 2019’a In-place Upgrade yaparken Full-Text Search Feature özelliği eğer kullanıyorsak database altıdan yer alan kataloğumuzun Upgrade sonrası nasıl kullanacağı bilgisini SQL Server bize sormaktadır. Aşağıda bu özellikleri okuduktan sonra sisteminize ve ihtiyacınıza göre uygun olan seçeneği seçerek ilerleyebilirsiniz. Import: Bu seçenekte, eğer sunucuda kullandığınız CPU sayısı 1 veya az sayıda ise bu seçeneği kullanabilirsiniz. Full-Text Serch var olan toplanmış word’ler üzerinden çalışmaya devam edecektir. Bu CPU sayısında, rebuild’den daha hızlı toplmaya devam edecektir. Fakat 2019 ile gelen yeni bir kelime, ayraç ya da özellik varsa onları kullanamayacaksınız Rebuild: Eğer CPU sayınız fazla ise rebuild etmek import etmekten daha hızlı olacaktır. 2019 ile gelen özellikleri bu seçenek ile kullanmaya başlayabilirsiniz. Özellikle Full-Text search kullandığınız tablonun data tipine ve data boyutuna bakmanızı öneririm. Upgrade sonrası çok fazla CPU ve Memory kullanımı olabilir. Reset: İlgili database altında bulunan tablonun kolonu için oluşturduğunuz Full-Text catalog’u tamamen boşaltılacaktır. Siz manuel […]

SQL Server In-Place Upgrade to 2019 from 2017

SQL Server 2 yıl önce

Bu makalemizde AlwaysOn Mimarisinde SQL Server 2017 olan ortamımızı SQL Server 2019’a upgrade işleminin adımlarını işleyeceğiz. SQL Server’ımızı 2017’den 2019’a yükseltmek istersek bir çok yöntem vardır. Biz burada In-Place Upgrade yöntemi ile yapacağız. Bu işlemi yaparken Stand-Alone sunucuda yaparsanız kesinti almanız gerekecektir. Always On Mimarisi olan bir ortamda yapıyorsunuz tüm Availibility Group’larınız (AG) Secondary ve Instance üzerinde herhangi bir transaction olmadığından emin olduktan sonra Secondary Node üzerinde işleme başlayınız. Bu işleme başlamadan önce lütfen tüm IP bilgilerinizi, kullanıcı bilgilerinizi notepad üzerinde not olarak saklayınız. Özellikle Always-On Mimarisinde yapacaksanız log backuplarınızı durdurmanızı tavsiye ederim. Step 1: DMA Tools Kullanımı Upgrade işlemi öncesi yükseltmenin yapılacağı instance altındaki (SQL Server 2017) veri tabanlarının SQL Server 2019’a geçtikten sonra sorun yaşaması muhtemel problemleri bize söyleyen. Data Migration Assistan uygulamasını kurduktan sonra o sunucunun ServerName\InstanceName bağlantısını gerçekleştirip tüm veri tabanlarını taramak sizlere çok faydalı olacaktır. İlgili tool’u indirmek için bağlantıya tıklayarak erişebilirsiniz. DMA Tool’unu kullandıktan […]

FCI – The Credentials you provided for the SQL Server Agent service are invalid

SQL Server 2 yıl önce

Bu yazımızda SQL Server 2019 Failover Cluster Instance kurulum aşamasında karşılaşılan hatalara ilişkin çözümleri sunacağız. FCI Kurulum aşamalarından biride servis hesaplarının tanımlanması istenmektedir. Bu aşamayı doğru biçimde tanımlayamazsa bir sonraki aşamaya geçilememektedir. Bildiğiniz gibi FCI bir Windows Server Failover Cluster içinde Akitf 2 Node üzerinde çalışan bir sistemdir. SQL Server kurulumundan önce WSFC kurulumu yapılması gerekmektedir. FCI Kurulumu yapılırken DNS, Node ve Server Name, Disk ve Servis hesaplarına ilişkin bilgiler in hepsi WSFC içinden çekilmektedir. Problem 1: Biz kurulum yaparken aşağıdaki gibi Agent Servis hesap bilgisinin gelmediğini gördük. Siz burada şifre girseniz de SQL Server size “The Credentials you provided for the SQL Server Agent service are invalid.To continue, provide a valid account and password for the SQL Server Agent service” şeklinde size hata mesajı dönecektir. Çözüm 1: Hatanın çözümüne ilişkin öncelikle Servis hesaplarında Agent hesabının kurulum ekranında olmadığını gördük. Buradaki hesapların WSFC içinden aldığını daha önceki kurulumlarımızdan biliyoruz. WSFC […]