SQL Server Management Studio (SSMS) stores saved credentials in two primary locations depending on the version:
// For SSMS 18.x and above:
%LocalAppData%\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml
// For older SSMS versions (17.x and below):
%AppData%\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin
Here's a PowerShell script to automate credential backup:
# SSMS Credential Backup Script
$backupFolder = "C:\SSMS_Backup_" + (Get-Date -Format "yyyyMMdd")
New-Item -ItemType Directory -Path $backupFolder -Force
# Copy files for various SSMS versions
$paths = @(
"$env:LocalAppData\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml",
"$env:AppData\Microsoft\SQL Server Management Studio\17.0\SqlStudio.bin",
"$env:AppData\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin"
)
foreach ($path in $paths) {
if (Test-Path $path) {
Copy-Item $path $backupFolder -Force
Write-Host "Backed up: $path"
}
}
Write-Host "SSMS credentials backup completed to $backupFolder"
After reinstalling SSMS, you can restore credentials by:
- Install the same SSMS version
- Close all SSMS instances
- Copy the backed-up files to their original locations
- Launch SSMS - credentials should appear
SSMS also uses Windows Credential Manager for some authentication:
Control Panel > User Accounts > Credential Manager > Windows Credentials
Look for entries prefixed with "SQLServer" or your server names.
Remember these credentials are stored encrypted, but:
- Backup files should be treated as sensitive data
- Consider using password managers for better security
- Regularly rotate saved passwords
When you check "Remember password" in SQL Server Management Studio (SSMS), the credentials are securely stored in the Windows Credential Manager. This applies to SSMS versions 2012 and later. For older versions, credentials might be stored in the registry.
To view or backup your saved SQL Server credentials:
- Open Windows Credential Manager (press Win+R and type
control.exe /name Microsoft.CredentialManager) - Navigate to "Windows Credentials"
- Look for entries starting with "Microsoft_SQLServer_Management_Studio"
You can use PowerShell to export credentials before formatting your PC:
# List all SQL Server related credentials
Get-StoredCredential -Target "*Microsoft_SQLServer_Management_Studio*" |
Export-Clixml -Path "C:\SSMS_Credentials_Backup.xml"
For older SSMS versions, credentials were stored in:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\RegSvr32
You can export this registry key using:
reg export "HKCU\Software\Microsoft\Microsoft SQL Server" SSMS_Credentials.reg
Here's a complete backup script that handles both scenarios:
# Backup modern SSMS credentials
if (Get-Command -Name Get-StoredCredential -ErrorAction SilentlyContinue) {
$modernCreds = Get-StoredCredential -Target "*Microsoft_SQLServer_Management_Studio*"
if ($modernCreds) {
$modernCreds | Export-Clixml -Path "$env:USERPROFILE\Documents\SSMS_Credentials_Modern.xml"
}
}
# Backup legacy registry credentials
$regPath = "HKCU:\Software\Microsoft\Microsoft SQL Server"
if (Test-Path $regPath) {
reg export "HKCU\Software\Microsoft\Microsoft SQL Server" "$env:USERPROFILE\Documents\SSMS_Credentials_Legacy.reg" /y
}
Write-Host "SSMS credential backup completed. Check your Documents folder."
After reinstalling Windows and SSMS, you can restore credentials:
# For modern credentials
$creds = Import-Clixml -Path "C:\SSMS_Credentials_Backup.xml"
foreach ($cred in $creds) {
New-StoredCredential -Target $cred.Target -UserName $cred.UserName -Password $cred.Password -Persist LocalMachine
}
# For legacy registry entries
reg import "C:\SSMS_Credentials_Legacy.reg"
Remember that credential files contain sensitive information. Always:
- Store backup files in encrypted containers
- Use strong file permissions (ACLs)
- Delete temporary files after restoration