SSMS 18版本命令行自动登录参数缺失问题及替代方案咨询
SSMS 18版本命令行密码参数(-P)问题及替代方案
关于-P参数的情况
SSMS 18及后续版本确实移除了命令行的-P(密码)参数,这是微软出于安全性考量做出的调整——旧版本(如SSMS 17及更早)支持该参数,但从SSMS 18开始不再提供,也没有额外配置能恢复此功能。
可行的替代实现方案
方案1:复用带凭据的SSMS快捷方式
- 手动创建SSMS快捷方式,配置SQL Server身份验证的登录信息并勾选"记住密码"
- 控制台应用中直接启动该快捷方式,无需命令行传参:
start "" "C:\路径\到\你的\SSMS快捷方式.lnk" - 注意:该方式依赖本地已保存的凭据,更换设备需重新配置。
方案2:结合Windows凭据管理器自动填充
- 将SQL Server的账号密码存入Windows凭据管理器(选择"通用凭据",目标名称设为对应SQL Server实例地址)
- 控制台应用通过PowerShell启动SSMS并指定服务器和用户名,系统会自动从凭据管理器读取密码:
Start-Process "ssms.exe" -ArgumentList "-S 你的服务器实例 -U 你的用户名"
方案3:UI自动化模拟登录
- 借助UI自动化工具(如C#的Windows Forms Automation、AutoIt脚本),在SSMS启动后自动定位登录窗口的输入框,填入预设凭据并触发连接操作
- 示例AutoIt脚本片段:
Run("ssms.exe -S 你的服务器实例") WinWaitActive("连接到服务器") ControlSetText("连接到服务器", "", "[CLASS:Edit; INSTANCE:2]", "你的用户名") ControlSetText("连接到服务器", "", "[CLASS:Edit; INSTANCE:3]", "你的密码") ControlClick("连接到服务器", "", "[CLASS:Button; TEXT:连接]") - 注意:该方式依赖SSMS窗口控件结构,版本更新可能需要同步调整脚本。
内容的提问来源于stack exchange,提问作者Nicky Apriliani
相关产品推荐
相关产品推荐

