Microsoft SQL Server'da SA Parolasını Sıfırlama


Bu yazımızda Microsoft SQL Server 2019/2017/2014/2012'de SA (sistem yöneticisi) parolasının nasıl sıfırlanacağına bir göz atacağız. Bu kılavuz, kullanarak kimlik doğrulaması yapamıyorsanız, MSSQL veritabanına erişimi geri yüklemenize yardımcı olacaktır.

sa

hesap (

sa

parola unutuldu/kayboldu/hesap devre dışı bırakıldı) veya bir Windows kullanıcısı olarak (MS SQL sysadmin izinlerine sahip kullanıcı yoksa).

Yerel sa, SQL Server'da iyi bilinen bir yönetici hesabıdır. Çoğu durumda devre dışıdır, ancak etkinleştirebilir, parolasını ayarlayabilir/sıfırlayabilir ve SQL Sunucunuza erişimi geri yükleyebilirsiniz.

MS SQL örneğini tamamen yeniden yüklemeden (ve ana veritabanını kaybetmeden) veritabanına erişimi geri yüklemek için, SQL Server'ı tek kullanıcı modunda başlatmanız gerekir. . Bu modda, MS SQL Server'ın kurulu olduğu bilgisayarda yerel yönetici izinlerine sahip herhangi bir hesapla SQL Server'a giriş yapabilirsiniz. Daha sonra sa hesap parolasını sıfırlayabilir ve/veya belirli Windows hesaplarına yönetici izinleri verebilirsiniz.

İpucu. SQL Server 2008'den başlayarak, bir SQL sunucusundaki sysadmin rolü varsayılan olarak yerel Windows Yöneticileri grubuna atanmamıştır.

MS SQL Server'ı tek kullanıcı modunda çalıştırmak için Windows'ta yerel yönetici iznine sahip herhangi bir hesap altında MSSQL ana bilgisayarında oturum açın.

  1. Komut isteminden SQL Server örneğini durdurun (bizim örneğimizde, MSSQL örneğinin adı MSSQLSERVER'dır)

    net stop MSSQLSERVER

    veya PowerShell kullanarak:

    Get-Service MSSQLSERVER| Stop-Service

  2. Kayıt defteri düzenleyicisini açın (

    regedit.exe

    ) ve SQL hizmeti kayıt defteri anahtarına gidin: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER;

  3. -m seçeneğini sqlservr.exe'ye bağımsız değişken olarak ekleyerek ImagePath parametresinin değerini değiştirin. Örneğin, aşağıdaki başlangıç dizesini ayarlayın:

    "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m 

  4. SQL Server'ı başlatın:

    net start MSSQLSERVER
  5. SQL Server'ınız artık tek kullanıcı modunda çalışıyor ve yerel Yöneticiler grubunun herhangi bir üyesinin (veya yerleşik Windows yöneticisinin) sysadmin ayrıcalıklarıyla SQL Server örneğine bağlanmasına izin veriyor;

  6. SQL Server Management Studio'yu (SSMS) açın ve yerel Yöneticiler grubunun bir üyesi olan bir hesabı kullanarak SQL Server Database Engine'e bağlanın;

  7. Güvenlik -> Girişler'e gidin ve sa kullanıcısını bulun. sa kullanıcısı varsayılan olarak devre dışıdır;

  8. Özelliklerini açın, Genel sekmesine gidin ve yeni bir SA şifresi belirleyin. Ardından Durum sekmesinde bu hesabı etkinleştirin (Giriş -> Etkin);

  9. Yerel SQL hesapları (sa dahil) altında MSSQL'e bağlanmaya izin vermek için, Güvenlik sekmesindeki sunucu özelliklerinde SQL Server ve Windows Kimlik Doğrulama modunu etkinleştirmeniz gerekir. Aksi takdirde, yerel sa hesabına bağlanırken bir hata görünecektir:

    Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)

  10. Ayrıca Girişler bölümünde, gerekli Windows kullanıcılarını (yerel veya etki alanı) ekleyebilir ve ona bir Sysadmin tole (Sunucu rollerinde) atayabilirsiniz. sekmesi). Veya kullanıcıya sqlcmd cli'den rol ekleyebilirsiniz:

    EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
    GO

  11. MSSQL hizmetini tekrar durdurmak, “-m ” anahtarını kaldırarak ImagePart kayıt parametresinin başlangıç değerini döndürmek kalır (

    C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER

    );

  12. SQL Server hizmetini normal şekilde başlatın;

  13. Artık SQL Server Authentication modunda sa hesabı altında veya SQL Server'da sysadmin ayrıcalıkları verdiğiniz Windows kullanıcı hesabı altında SQL sunucusuna bağlanabilirsiniz.

İpucu. SQL Server Configuration Manager'ı kullanarak SQL Server'ı tek kullanıcı modunda başlatabilirsiniz. Bunu yapmak için gerekli SQL örneğinin özelliklerinde Başlangıç Parametreleri sekmesine gidin ve -m başlangıç seçeneğini ekleyin.

Ayrıca, SA parolasını sıfırlamak ve SQL Server'a erişim izni vermek için sqlcmd komut satırı aracını kullanabilirsiniz:

  1. SQL Server'ı yukarıda açıklandığı gibi tek kullanıcı modunda başlatın;

  2. Komut istemini açın ve SQL Server örneğinize bağlanın:

    sqlcmd -S localhost
  3. SA kullanıcı parolasını değiştirmek ve etkinleştirmek için aşağıdaki T-SQL komutlarını çalıştırın:

    ALTER LOGIN sa enable
    GO
    ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
    GO
  4. Bir Windows hesabı (bu örnekte yerel kullanıcı) için MSSQL'de sysadmin izinleri vermek üzere şu komutları kullanın:

    CREATE LOGIN [mun-sql01\jsmith] FROM WINDOWS
    GO
    ALTER SERVER ROLE sysadmin ADD MEMBER [mun-sql01\jsmith]
    GO

Bu yazıda, tek kullanıcı modunda SQL Server'a erişimin nasıl geri yükleneceğini gösterdik. Bu modda, sa (ve diğer SQL kullanıcıları) parolasını sıfırlayabilir veya Windows kullanıcı hesaplarına SQL yönetici izinleri verebilirsiniz. Tek kullanıcı modu, MSSQL Server'daki temdb veritabanını geri yüklemek için de kullanılabilir.

İlgili makaleler