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.