运行 SQLServer Express 在本地需要哪些服务?

What services are required for running SQLServer Express locally?

我最近安装了 SQLServer Express(为了在家做一些小测试),但是选择默认将所有服务设置为手动(因为我不想要这些服务 运行一直,因为我只会不经常使用它)。但是重新启动后,SSMS 无法再连接到我的本地 SQLExpress(当然,因为所有服务都已停止)。但是当我进入服务控制台时,我发现了六种不同的 SQL 服务!为了简单地连接到 SSMS 中的数据库,我需要启动哪些?

以下是服务控制台中列出的内容:

所以经过反复试验,我找到了我自己的问题的一些答案。由于“服务名称”(显示在服务管理控制台中,与“显示名称[=17”不同,这个问题变得更加复杂=]”(显示在任务管理器的“服务”选项卡中)。这是我目前所知道的table:

Service Name        | Display Name                  | Notes
--------------------|-------------------------------|-------------------------------------
MSSQL$SQLEXPRESS    | SQL Server (SQLEXPRESS)       | Required 
SQLAgent$SQLEXPRESS | SQL Server Agent (SQLEXPRESS) | Used by DBAs (for jobs, backups, etc)
SQLBrowser          | SQL Server Browser            | Server/client setups (remote connections)
SQLWriter           | SQL Server VSS Writer         | For backup/restore(??)
ReportServer        | SQL Server Reporting Services | Used with Report Server
MSSQLFDLauncher     | SQL Full-text Filter          | Full-text filter is optional
                        Daemon Launcher (SQLEXPRESS)  

所以,严格来说,在自己的机器上本地使用 SQLServer 时,只有这个列表中的第一个服务是 "required"。

你肯定需要 "SQL Server (SQLEXPRESS)"。那是数据库引擎。

"SQL Server Agent" 服务不会在 Express Edition 中启动。你可以试试,但它会给你一个错误信息。

您可能需要启动 "SQL Server Browser" 服务。但是"it depends"。如果您以 YourSqlHost\SQLExpress 连接,则需要打开浏览器服务——它会将 "SQLExpress" 实例名称与 运行 所在的端口号相匹配。 (SQL 服务器的 "default" 实例不需要这个——它总是在端口 1433 上运行……好吧,无论如何默认情况下。) SQL 的命名实例使用动态端口数字。您可以使用 SQL 配置管理器并更改为静态端口。如果这样做,您可以连接为 YourSqlHost,xxx,其中 xxx 是您的端口号。 然后您可以关闭"SQL Server Browser"服务。

Edit 以上适用于通过 tcp 的典型 client/server 连接。如果您直接在 SQL 主机上使用 运行 SSMS,您将通过共享内存进行连接。在这种情况下,您可能不需要浏览器服务 运行。您应该能够相当快地验证这一点。

如果您在安装过程中没有选择全文搜索,则不需要启动 "SQL Full-text Filter Daemon Launcher"。 SQL 服务器报告服务(又名 SSRS)也是如此。

我认为 "SQL Server VSS Writer" 与 VSS/VDI 相关,用于与快照相关的备份。你可能不需要那个。