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.

clip_image001

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)

clip_image002

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

 

clip_image003

 

clip_image004[1]

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.

clip_image005

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

clip_image006[1]

Makalemin sonuna geldik, umarım faydalı bir makale olmuştur.