Many SQL Server DBAs hit this roadblock when trying to run SQL Server Management Studio (SSMS) 2016+ under different credentials on Windows 10. The standard right-click → "Run as different user" method suddenly fails with:
This operation requires elevated permissions
You'll need to sign in again and continue
The security model tightened significantly in Windows 10. UAC (User Account Control) now prevents privilege escalation through secondary credentials by default. What worked seamlessly with:
runas /user:DOMAIN\secondaryUser "ssms.exe"
Now triggers the elevation prompt.
Method 1: Scheduled Task Workaround
Create a scheduled task with highest privileges:
$action = New-ScheduledTaskAction -Execute "ssms.exe"
$principal = New-ScheduledTaskPrincipal -UserId "DOMAIN\user" -LogonType Interactive -RunLevel Highest
Register-ScheduledTask -Action $action -Principal $principal -TaskName "SSMS as Secondary User"
Method 2: PowerShell Explicit Credentials
Use Start-Process with explicit credentials:
$cred = Get-Credential
Start-Process "ssms.exe" -Credential $cred -LoadUserProfile
When implementing these workarounds:
- Never store credentials in scripts
- Use dedicated service accounts instead of personal credentials
- Enable auditing for sensitive database access
After successfully launching SSMS as the secondary user, your trusted connection string should appear as:
-- In connection dialog
Server name: production-sql-01
Authentication: Windows Authentication
User name: DOMAIN\serviceAccount
Many developers working with SQL Server Management Studio (SSMS) 2016+ on Windows 10 encounter this frustrating scenario: when right-clicking the SSMS shortcut and selecting "Run as different user", they get an error stating elevated permissions are required. This breaks trusted authentication workflows that previously worked fine on Windows 7 with older SSMS versions.
Microsoft implemented stricter security policies in Windows 10 that affect how applications launch under alternate credentials. SSMS 2016 and later versions now require administrative privileges for certain operations, including running as another user.
Here are three proven methods to bypass this limitation:
Method 1: Using runas Command
The most reliable approach is using the command line:
runas /netonly /user:DOMAIN\username "C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe"
Key parameters:
- /netonly: Credentials only used for remote connections
- Full path to SSMS executable (adjust version number as needed)
Method 2: Creating a Batch File
For frequent use, create a batch file (RunSSMSAsUser.bat
):
@echo off
set /p domainuser="Enter DOMAIN\username: "
set /p pass="Enter password: "
runas /netonly /user:%domainuser% "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe" < %pass%
Method 3: PowerShell Alternative
For more control, use this PowerShell script:
$cred = Get-Credential
Start-Process "ssms.exe" -Credential $cred -ArgumentList "-nosplash" -WorkingDirectory "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\"
When implementing these solutions:
- Never store passwords in plain text files
- Use the /netonly flag whenever possible
- Consider using Windows Credential Manager for sensitive credentials
If you still encounter issues:
- Verify SSMS executable path matches your installed version
- Check domain/user format (DOMAIN\user or user@domain.com)
- Test with basic applications first (like notepad.exe) to isolate SSMS-specific issues