SQL Server Yetkili Hesap Sifre Kurtarma – SQL Server SA Password Reset

Bu makalemizde yetkili olduğunuz makinadaki veri tabanına bağlanamıyorsanız yada yeterince yetkili bir kullanıcınız yoksa ve buna ihtiyacınız varsa veyahut sa şifresini unuttuysanız bu sorunu nasıl çözebileceğinizi anlatmaya çalışacağım. Gün içerisinde böyle durumlara düşmekteyiz. Çok önceden kurulmuş bir sistem olabilir, o sistemi kuran arkadaş işten ayrılmış olabilir ya da çok daha insani bir sebepten şifresini  unutmuş olabiliriz. J Unutulan sql serverin yetkili kullanıcı şifresini resetlemenin geleneksel yöntemini de açıklayacağım. Daha modern daha hızlı kendi kullandığım yöntemi de açıklayacağım. Internette bu yöntemle ilgili çokça makele içerik bulabilirsiniz. Temelinde Sql Serverinizi single user mode da açmak, sonra admin olarak bağlanmak ve yeni kullanıcı oluşturmak veyahut sa ye yeni şifre verme gibi bir yöntemle başarıya ulaşabilirsiniz. Geleneksel yöntem adımları; Net stop MSSQLSERVER Net start MSSQLSERVER /m”sqlcmd” Sqlcmd –S . (eğer named instance kullanıyorsanız MACHINENAME\INSTANCENAME) Create login NEWUSER with password=’password’ GO SP_ADDSRVROLEMEMBER NEWUSER,’SYSADMIN’ GO EXIT Net stop MSSQLSERVER & net start MSSQLSERVER Bu yöntem her zaman iş görmeyebilir ancak her zaman iş görecek başka bir yöntem anlatacağım. Dbatools açık kaynak kodlu bir powershell projesidir. Bu projeyle gündelik işlerinizi saniyeler içinde yapabilirsiniz. Bu problem çözmek için Reset-DbaAdmin fonksiyonunu kullanacağız. Öncelikle bu projeyi kendi bilgisayarınıza modül olarak eklemelisiniz. İnternet bağlantınız varsa işler çok kolay tek bir komutla bu modülü yükleyebilirsiniz. Ancak internet bağlantınız yoksa önce powershell modüllerinizin yerini environment path den öğrenmeniz gerekecek. O pathlerden birine indirdiğiniz dosyayı kopyalayıp import etmelisiniz. Aşağıda birkaç screenshot ile göstermeye çalışacağım. Adımları aşağıda listeliyorum. Invoke-Expression (Invoke-WebRequest https://dbatools.io/in) Eğer internet bağlantınız yok ise https://github.com/sqlcollaborative/dbatools/archive/development.zip buradan dosyayı indirin $env:PSMODULEPATH bu komutu powershellde çalıştırıp o klasörlerden birine indirdiğiniz zipi açarak atınız. Ben bu klasörü kullandım. C:\programFiles\WindowsPowershell\Module     Import-Module dbatools dbatools modülü yüklendi kullanılmaya hazır. Reset-DbaAdmin – SqlInstance . –Login newuser  Eğer makinanızda named instance SQL server kullanıyorsanız MACHINENAME\INSTANCENAME kullanmalısınız. Sizden şifre isteyecek Strong bir şifre verin. Servisi otomatik restart edecektir. Aşağıdaki gibi kullanıcının yaratıldığını görebilirsiniz. Sorun çözüldü. Makalemin sonuna geldik, umarım faydalı bir makale olmuştur.