适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
SQL Server Management Studio 21 是用于管理 SQL Server 实例、Azure SQL 数据库和 Azure SQL 托管实例的强大工具。 本文提供了有关如何使用命令行参数安装 SQL Server Management Studio 21 的详细说明,从而允许进行更自定义和自动化的安装过程。 无论是首次安装 SQL Server Management Studio 21 还是更新现有安装,这些说明都提供了实现目标的必要步骤。
命令行参数
以编程方式或从命令提示符安装 SQL Server Management Studio (SSMS) 时,可以使用各种命令行参数来控制或自定义安装以执行以下操作:
- 使用预选的某些选项和行为在客户端上启动安装。
- 自动执行安装或更新过程。
- 创建或维护用于安装或更新客户端计算机的产品文件的网络布局。
以下命令行谓词和参数可用于以下可执行文件或程序:
- 安装程序引导程序,它是启动下载过程和初始安装的小型(约 1 MB)文件(例如
vs_SSMS.exe
)。 - 可能已安装在计算机上且位于文件夹
C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe
中的 Visual Studio 安装程序。 必须从与安装程序所在目录不同的目录以编程方式启动安装程序。 安装程序通常用于更新或修改命令。
并非所有命令或参数都适用于每种情况,并且记录了任何特殊注意事项或异常。 此外,在某些情况下,你可能无法访问前面所述的所有这些可执行文件。 例如,如果 SSMS 是通过布局安装的,则客户端计算机可能只有可用于编程执行的安装程序。
若要获取始终安装所选通道最新版本的 SQL Server Management Studio 21 的最新引导程序,请下载下表中的其中一个文件。 或者,若要安装特定版本或 SQL Server Management Studio 21 的特定通道,请参阅 SQL Server Management Studio 的发布历史记录。 此页包含指向每个服务版本的固定版本启动加载程序的链接。
通道 | 版本 | Bootstrapper |
---|---|---|
释放 | 21.0.0 | SQL Server Management Studio |
小窍门
如果之前下载了启动加载程序文件,并且想要验证它安装的版本,下面介绍了操作方法。 在 Windows 中,打开文件资源管理器,右键单击启动加载程序文件,选择“属性”,然后选择“详细信息”选项卡。“产品版本”字段描述了启动加载程序安装的频道和版本。 版本号应始终读作“指定的内容的最新服务版本”,并且除非明确指定,否则频道为“发布”。 具有标示为 SQL Server Management Studio 21 产品版本的引导程序,将从发布通道安装最新版本的 SQL Server Management Studio 21。
安装、更新、修改、修复、卸载和导出命令和命令行参数
以编程方式调用 SSMS 启动加载程序或安装程序时,安装产品或维护布局:
- 第一个参数是描述要执行的操作的命令(谓词)。
- 后续可选命令行参数均以两条短划线 (
--
) 为前缀,进一步定义了该操作应如何发生。
所有 SSMS 命令行参数都区分大小写。
语法示例:vs_SSMS.exe [command] <optional parameters>...
命令 | 说明 |
---|---|
(空白) | 默认命令不仅安装产品,还用于所有布局维护操作。 |
modify |
修改已安装的产品。 |
update |
更新已安装的产品。 |
updateall |
按顺序更新所有已安装的产品。 使用 --quiet 和 --passive 参数。 |
repair |
修复已安装的产品。 |
uninstall |
卸载已安装的产品。 |
export |
将安装配置导出到 *.vsconfig 文件中。 |
重要
指定多个不同的工作负载、组件或语言时,必须为每个项重复 --add
或 --remove
命令行开关。
参数 | 说明 |
---|---|
--installPath <dir> |
对于默认安装命令,此参数 可选 并描述在客户端计算机上安装实例的位置。 对于其他命令,如更新或修改,此参数是必需的,用于指示实例在执行操作时使用的安装目录。 |
--productId <id> |
可选:被修改并与 --channelId 结合使用的产品实例的 ID。
productId 为 Microsoft.VisualStudio.Product.SSMS 。 |
--channelUri |
可选:在执行更新命令期间,可以传递新的 --channelUri 来更改更新设置位置。 建议与 --installPath 参数配对,以便明确要配置的 SSMS 实例。 请参阅 --channelUri 的语法示例 |
--channelId <id> |
通道的 ID,例如 SSMS.21.SSMS.Preview 。
channelId 是修改操作所必需的,与 --productId 或 --installPath 一起使用。 |
--add <one or more workload or component IDs> |
可选:在安装或修改命令期间,此可重复参数指定要添加的一个或多个工作负荷或组件 ID。 已安装工件所需的组件,但未安装建议组件或可选组件。 可以使用 --includeRecommended 和/或 --includeOptional 参数全局控制其他组件。 若要包含多个工作负荷或组件,请重复 --add 命令(例如,--add Workload1 --add Workload2 )。 对于精细的控制,可以将 ;includeRecommended 或 ;includeOptional 追加到 ID(例如,--add Workload1;includeRecommended 或 --add Workload2;includeRecommended;includeOptional )。 |
--all |
可选:在安装或修改命令期间,此可选参数会使产品的所有工作负载和组件被安装。 |
--allWorkloads |
可选:在安装或修改命令期间,此参数将安装所有工作负载和组件,但不建议或可选组件。 |
--includeRecommended |
可选:在安装或修改命令期间,此参数包括安装的任何工作负荷的建议组件。 它不包括可选组件。 使用 --allWorkloads 或 --add 指定工作负荷。 通过使用 --includeRecommended 参数,可以启用“更新设置”对话框来“在更新时为安装的工作负载添加推荐的组件”。 请参阅 自定义更新设置 以更改此设置。 |
--includeOptional |
可选:在安装或修改命令期间,此参数包括安装的任何工作负荷的可选组件。 它不包括建议的组件。 使用 --allWorkloads 或 --add 指定工作负荷。 |
--addProductLang <language-locale> |
可选:在安装或修改命令期间,此可重复参数指定应随产品一起安装的 UI 语言包。 如果不存在,安装将使用与计算机区域设置对应的语言包。 有关详细信息,请参阅 [语言区域设置列表] |
--remove <one or more workload or component IDs> |
可选:在修改命令期间,此可重复参数指定要删除的一个或多个工作负荷或组件 ID。 它的作用与 --add 参数互补,并且行为相似。 |
--addProductLang <language-locale> |
可选:在安装或修改命令期间,此可重复参数指定应随产品一起安装的 UI 语言包。 如果不存在,安装将使用与计算机区域设置对应的语言包。 有关详细信息,请参阅此页面上 语言区域设置列表 部分。 |
--removeProductLang <language-locale> |
可选:在安装或修改命令期间,此可重复参数确定应从产品中删除的 UI 语言包。 它的作用与 --addProductLang 参数互补,并且行为相似。 |
--in <path> |
可选:响应文件的 URI 或路径,其中包含配置设置。 |
--quiet |
可选:与任何命令一起使用,此参数可防止在执行命令时显示任何用户界面。 无论如何设置 AllowStandardUserControl 策略,标准用户都无法以编程方式使用。 |
--passive, -p |
可选:此参数使用户界面以非交互方式显示。 此参数与 --quiet 参数互斥(实际上替代)。 无论如何设置 AllowStandardUserControl 策略,标准用户都无法以编程方式使用。 |
--norestart |
可选:此参数必须与 --passive 或 --quiet 参数配对。 在安装、更新或修改命令期间,添加 --norestart 参数会延迟任何必要的重新启动。 |
--force |
可选:即使正在使用任何 SSMS 进程,此参数也会强制 SSMS 关闭。 强制 SSMS 关闭可能会导致工作丢失,因此请谨慎使用。 |
--installWhileDownloading |
可选:在安装、更新或修改命令期间,此参数允许 SSMS 并行下载和安装产品。 这是默认体验。 |
--downloadThenInstall |
可选:在安装、更新或修改命令期间,此参数强制 SSMS 在安装之前下载所有文件。 它与 --installWhileDownloading 参数互斥。 |
--nickname <name> |
可选:在安装命令期间,此参数定义分配给已安装产品的昵称。 昵称不能超过 10 个字符。 |
--removeOos true |
可选:在安装、更新或修改命令期间,此参数后跟 true 或 false ,告知 Visual Studio 安装程序是否删除转换到不支持状态的所有已安装组件。 此行为适用于单个事件。 如果要使此行为持久化,请将此参数应用于 modifySettings 命令(稍后介绍)或配置 removeOOS 全局策略。 有助于保持机器安全。 |
--config <path to *.vsconfig file> |
可选:在安装或修改操作期间,可以使用 --config 参数传入配置文件,以根据以前保存的安装配置文件指定要添加的工作负荷、组件或扩展。 此操作仅累加;它不会删除文件中未指定的任何内容。 此外,不会添加不适用于产品的配置文件中指定的项。 强烈建议你指定配置文件的完全限定路径。 在导出操作期间,此参数确定保存安装配置文件的位置。 |
--allowUnsignedExtensions |
可选:如果在安装或修改操作中,在 --passive 或 --quiet 上下文中使用 --config 文件运行,并且配置文件中指定了扩展,则为了加载没有数字签名的扩展,此参数是必需的。 |
--installerOnly |
可选:在安装或更新操作期间,此参数告知 Visual Studio 安装程序仅安装自身(安装程序),而不安装 SSMS 产品。 其功能等效于 --update 参数,但更直观。 用于准备和预配置客户端计算机。 |
--help, --?, -h, -? |
显示此页面的脱机版本。 |
布局命令和命令行参数
所有布局管理操作(如创建或更新布局)都使用引导程序 exe 运行,并假定该命令是默认的安装(空白)。 所有布局管理操作都应以所需的 --layout
初始参数开头。 下表介绍了使用命令行创建或更新布局时可使用的其他参数。
布局参数 | DESCRIPTION |
---|---|
--layout <dir> |
指定要创建或更新脱机安装缓存的目录。 |
--lang <one or more language-locales> |
可选:与 --layout 一起使用,使用具有指定一个或多个指定语言的资源包准备脱机安装缓存。 有关详细信息,请参阅此页面上 语言区域设置列表 部分。 |
--add <one or more workload or component IDs> |
可选:要添加的一个或多个工作负载或组件 ID。 已安装工件所需的组件,但未安装建议组件或可选组件。 可以使用 --includeRecommended 和/或 --includeOptional 全局控制更多组件。 对于精细的控制,可以将 ;includeRecommended 或 ;includeOptional 追加到 ID(例如,--add Workload1;includeRecommended 或 --add Workload2;includeOptional )。注意:如果使用 --add ,则仅下载指定的工作负荷和组件及其依赖项。 如果未指定 --add ,所有工作负载和组件都会下载到布局。 |
--includeRecommended |
可选:包含所有已安装工作负载的推荐组件,但不包含可选组件。 使用 --allWorkloads 或 --add 指定工作负荷。 |
--includeOptional |
可选:包括建议的 和 可选部件,适用于布局中包含的任何工作负荷。 使用 --add 指定工作负荷。 |
--wait |
可选:该过程在返回退出代码之前等待安装完成。 在需要自动化安装,并需要等待安装完成以处理返回代码时,wait 非常有用。
--wait 参数只能传递到引导程序;安装程序(setup.exe)不支持它。 更新布局时非常有用。 |
--config <path to *.vsconfig file> |
可选:如果存在,SSMS 将使用配置文件的内容来配置布局。 请确保指定配置文件的完全限定路径。 |
--noWeb |
可选:如果存在,SSMS 安装程序将使用布局目录中的文件来安装 SSMS,并且不会从 Web 下载任何包。 如果用户尝试安装布局中没有的组件,安装程序将失败。 如果尝试部署在内部 Intranet 网站上托管的布局,请不要使用此参数。 重要: --noWeb 参数不会阻止连接 Internet 的客户端上的 Visual Studio 安装程序检查更新(如果客户端配置为从 Microsoft 托管的服务器获取更新)。 在这种情况下,--noWeb 只是阻止客户端下载产品包。 |
--verify |
可选:验证布局的内容。 列出了任何损坏或缺失的文件。 |
--fix |
可选:验证布局的内容。 如果任何文件已损坏或缺失,则会重新加载这些文件。 需要 Internet 访问才能修复布局。 |
--clean <one or more paths to catalogs> |
可选:从更新到较新版本的布局中删除旧版本的组件。 |
高级布局参数 | 说明 |
---|---|
--channelId <id> |
可选:要安装的实例的通道 ID,例如,表示为 SSMS.21.SSMS.Preview 。 对于安装命令,channelId 是必需的;如果指定了 --installPath ,则其他命令会忽略它。 有关详细信息,请参阅 的--channelId 。 |
--channelUri <uri> |
可选:通道清单的 URI。 此值控制更新的源位置,并在布局的 response.json 文件中配置初始值。 如果不需要更新,则 --channelUri 可以指向不存在的文件(例如 --channelUri C:\doesntExist.chman )。 此参数可用于 install 命令;其他命令将忽略它。 |
--installChannelUri <uri> |
可选:用于安装的通道清单的 URI。
--channelUri 指定的 URI(指定 --installChannelUri 时必须指定)用于检测更新。 此参数可用于 install 命令;其他命令将忽略它。 |
--installCatalogUri <uri> |
可选:要用于安装的目录清单的 URI。 如果有指定,该频道管理器会尝试先从此 URI 下载目录清单,然后再在安装频道清单中使用该 URI。 此参数用于支持脱机安装,其中使用已下载的产品目录创建布局缓存。 此参数可用于 install 命令;其他命令将忽略它。 |
--productId <id> |
可选:已安装实例的产品 ID。 此参数在正常安装条件下会预填充。
productId 为 Microsoft.VisualStudio.Product.SSMS 。 |
--keepLayoutVersion |
可选:将更改应用到布局中,而不更新布局中包含的产品版本。 |
--locale <language-locale> |
可选:更改安装程序本身用户界面的显示语言。 该设置保持不变。 有关详细信息,请参阅此页面上 语言区域设置列表 部分。 |
--cache |
可选:如果存在,安装后将保留安装包,以供后续修复。 这会替代用于后续安装、修复或修改的全局策略设置。 默认策略是缓存包。 对于卸载命令,将忽略此情况。 |
--nocache |
可选:如果存在,则安装或修复后将删除包。 只有在需要时才会再次下载,并在使用后再删除。 这会替代用于后续安装、修复或修改的全局策略设置。 默认策略是缓存包。 对于卸载命令,将忽略此情况。 |
--noUpdateInstaller |
可选:如果存在,则当指定 quiet 时会阻止安装程序自行更新。 当安装程序需要更新时,如果同时指定了 --noUpdateInstaller 和 quiet ,则安装程序将无法执行命令并返回非零退出代码。 |
--path <name>=<path> |
可选:用于指定安装的自定义安装路径。 支持的路径名称是共享、缓存和安装。 |
--path cache=<path> |
可选:使用指定的位置下载安装文件。 只能在首次安装 SSMS 时设置此位置。 示例:--path cache="C:\SSMS\cache" |
--path shared=<path> |
可选:包含并行 SSMS 和 Visual Studio 安装的共享文件。 某些工具和 SDK 安装到此驱动器上的某个位置,而另一些工具和 SDK 可能会替代此设置并安装到另一个驱动器。 示例:--path shared="C:\VS\shared" 重要:只能在首次安装 SSMS 或 Visual Studio 时设置一次。 |
--path install=<path> |
可选:等效于 –-installPath 。 具体而言,--installPath "C:\SSMS" 和 --path install="C:\SSMS" 是等效的。 一次只能使用其中一个命令。 |
ModifySettings 命令和命令行参数
可以使用客户端计算机上的安装程序或启动加载程序,并传入 modifySettings 命令和所需的更新频道,来修改更新设置并以编程方式配置给定 SSMS 实例的更新源位置。
命令 | 说明 |
---|---|
modifySettings |
用于修改特定 SSMS 实例的更新设置的谓词。 |
modifySettings 参数 | 说明 |
---|---|
--installPath <dir> |
建议用于指定要对其执行操作的 SSMS 实例。 |
--newChannelUri |
必需:通道清单的 URI。 此值指定下一个更新源位置。 如果不需要更新,则 --channelUri 可以指向不存在的文件(例如 --channelUri C:\doesNotExist.chman )。 |
--channelUri |
通道清单的 URI。 如果 --installPath 未知,则可以使用。 必须与 --productId 一起使用,以确定要对其执行操作的正确实例。 |
--productId <id> |
如果指定了 --channelUri ,则必须使用,并且用于确定要对其执行操作的正确实例。
productId 为 Microsoft.VisualStudio.Product.SSMS 。 |
--includeRecommended |
可选:在执行 modifySettings 命令期间,此参数(其后必须紧跟单词 true 或 false)会告知 SSMS 安装程序在“更新设置”对话框中禁用“在更新时为已安装的工作负载添加推荐的组件”功能。 |
--quiet |
可选:此参数可防止执行命令时显示任何用户界面。 标准用户无法以编程方式使用。 |
--removeOos true |
可选:在执行 modifySettings 命令期间,此参数(其后必须紧跟单词 true 或 false)会告知 SSMS 安装程序持久删除(或不删除)所有已转换为不受支持状态的已安装组件。 有助于保持机器安全。 |
语法示例:
C:\>"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modifySettings --installPath "C:\Program Files\Microsoft SQL Server Management Studio 21\Release" --newChannelUri https://aka.ms/ssms/21/release/channel --removeOos true
C:\>"C:\Program Files\Microsoft SQL Server Management Studio 21\Release\vs_SSMS.exe" modifySettings --channelUri https://aka.ms/ssms/21/release/channel --productId Microsoft.VisualStudio.Product.Ssms --newChannelUri \\layoutserver\share\path\channelmanifest.json --removeOos true --quiet
删除通道命令和命令行参数
可供从中更新的频道缓存在客户端上,随着时间推移,它们可能会生成混乱。 可以通过打开 Visual Studio 安装程序、切换到“可用”选项卡,然后选择产品卡右上角的 X,手动删除更新频道。 可以使用 removeChannel
命令以编程方式删除通道(例如较旧的布局位置)。 可以在客户端计算机上以编程方式运行 vswhere
,以确定哪些频道缓存在客户端计算机上。
命令 | 说明 |
---|---|
removeChannel |
用于从客户端计算机中删除通道的命令。 |
removeChannel 参数 | 说明 |
---|---|
--channelUri |
必需:旧通道清单的 URI。 |
--quiet |
可选 此参数可防止执行命令时显示任何用户界面。 |
--passive |
可选 此参数替代 --quiet 参数。 它会导致 UI 以非交互方式显示。 |
语法示例:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" removeChannel --channelUri "\\\\server\\share\\layoutdirectory\\ChannelManifest.json"
语言区域列表
下表列出了可与 --addProductLang
和 --removeProductLang
参数一起使用的语言区域设置。
语言-区域设置 | 语言 |
---|---|
cs-cz |
捷克语 |
de-de |
德语 |
en-us |
英语 |
es-es |
西班牙语 |
fr-fr |
法语 |
it-it |
意大利语 |
ja-jp |
日语 |
ko-kr |
朝鲜语 |
pl-pl |
波兰语 |
pt-br |
葡萄牙语 - 巴西 |
ru-ru |
俄语 |
tr-tr |
土耳其语 |
zh-cn |
中文 - 简体 |
zh-tw |
中文 - 传统 |
错误代码
根据操作的结果,%ERRORLEVEL%
环境变量设置为以下值之一:
价值 | 结果 |
---|---|
0 | 操作成功完成 |
740 | 需要提升 |
1001 | Visual Studio 安装程序进程正在运行 |
1003 | SSMS 正在使用 |
1602 | 操作已取消 |
1618 | 另一个安装正在运行 |
1641 | 操作已成功完成,系统已重新启动 |
3010 | 操作成功完成,但安装需要重新启动才能使用 |
5003 | Bootstrapper 无法下载安装程序 |
5004 | 操作已取消 |
5005 | Bootstrapper 命令行分析错误 |
5007 | 操作被阻止 - 计算机不符合要求 |
8001 | Arm 计算机检查失败 |
8002 | 后台下载预检查失败 |
8003 | 不支持可选择的失败 |
8004 | 目标目录失败 |
8005 | 验证源有效负载失败 |
8006 | 正在运行的 SSMS 进程 |
8010 | 操作系统不受支持。 请参阅系统要求。 |
-1073720687 | 连接失败 |
-1073741510 | Microsoft Visual Studio 安装程序已终止(由用户或外部进程) |
其他 (例如: -1、1、1603) |
失败情况已发生,请检查日志以获取更多信息。 |
每个操作都会在 %TEMP%
目录中生成多个日志文件,这些日志文件指示安装进度。 按日期对文件夹进行排序,并分别查找引导程序、安装程序应用和安装引擎以 ssms_bootstrapper
、ssms_client
和 ssms_setup
开头的文件。
支持或故障排除
有时,事情可能会出问题。 如果 SSMS 安装失败,请参阅 SQL Server Management Studio 的安装和升级问题疑难解答, 获取分步指南。
可以参考 SSMS 开发人员社区 网站了解其他已知问题(在 组下筛选 工具),并向产品团队提供反馈。