# 会话

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

Procedure: 启用 数据库工具和 SQL 插件

此功能依赖于 数据库工具和 SQL 插件，该插件默认情况下在 IntelliJ IDEA 中绑定并启用。 如果相关功能不可用，请确保您没有禁用插件。

> **Note:**
> 没有 Ultimate 订阅时，数据库工具和 SQL 的功能支持在 IntelliJ IDEA 中受限。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  数据库工具和 SQL  插件并点击   启用  。

在 IntelliJ IDEA 中，与数据库的连接是在特殊包装器 —  会话  中建立的。 每个会话都是单个连接的包装器，并存储该连接的信息（例如是否处于活动状态、事务控制模式以及其他设置）。

在会话中，连接可以根据需要并按照定义的 [设置](configuring-database-connections.html) 打开和关闭。

会话可以拥有  客户端  – 这些文件的查询会使用会话持有的连接发送。 [数据编辑器](data-editor-and-viewer.html) 也可以作为会话的客户端。

您可以在   服务  工具窗口中查看数据源、会话和会话客户端。 会话图标角落的绿点表示已连接的会话。

> **Tip:**
> 当您运行与服务相关的操作（例如，查询或刷新表状态）时，   服务   工具窗口会自动弹出。 或者，若要打开   服务   工具窗口，请点击  `查看 | 工具窗口 | 服务` 。 如需了解有关   服务  工具窗口的更多信息，请参阅 [服务工具窗口主题](services-tool-window.html)。

![服务工具窗口](https://resources.jetbrains.com/help/img/idea/2026.3/db_services_tool_window_db.png)

在上图中，   服务   工具窗口显示以下节点：

1.  数据源。

2.  会话已断开。

3.  连接会话。

4.  会话客户端。

有关会话管理选项和工具栏控件的更多信息，请参阅 [服务工具窗口](services-tool-window.html#db-sessions) 主题。

如果您关闭 IntelliJ IDEA 并再次打开，所有会话将在   服务  工具窗口中可用，但它们将是空的。

## 新会话

根据创建新会话的方式，会话可以自动连接，也可以在执行某个操作后连接。 会话图标角落的绿色 DOTS 表示已连接状态。

可以通过以下任一方式创建新会话：

* 打开 [查询控制台](query-consoles.html)、在数据编辑器中查看数据库对象的数据，或将 SQL 文件附加到数据源。 因此，在 服务 工具窗口的数据源节点下，会出现新的会话节点，并且其下包含一个客户端节点。 1. 对于 查询控制台，一旦执行需要与数据库交互的操作，会话就会连接。 例如，当 [运行查询](run-a-query.html#run_statements_in_a_query_console)时。 2. 对于表，会话会自动连接，因为 IntelliJ IDEA 需要活动连接来从数据库请求表格数据、接收数据，并在数据编辑器中显示。 3. 对于 SQL 文件，会话会自动连接。 要针对数据源的数据库或架构运行查询，必须在 <schema> 列表中选择它们，以将文件附加到它们。

* 执行需要与数据库交互的操作。 例如， [运行存储过程](run-a-query.html)，或使用 [运行配置](run-debug-configuration.html) 运行脚本。 因此，在 服务 工具窗口的数据源节点下会出现新的已连接会话节点。

## 管理会话

IntelliJ IDEA 提供三种将客户端连接分布式到会话中的模式：   单个共享会话  、   两个会话: 共享与内省  和   专用会话  。

单个共享会话
: 单个会话被多个客户端共享，包括内省。 共享会话为  `默认` 。
:
:
:
: 例如，如果每个新查询都需要 MFA 批准，可使用此模式。
:
:
:
: ![所有连接都在单个共享会话中](https://resources.jetbrains.com/help/img/idea/2026.3/session_control_single_shared.png)

两个会话: 共享与内省
: IDE 使用两个会话：一个用于内省，另一个  `默认` 会话由所有其他客户端共享。
:
:
:
: 如果希望使用   单个共享会话  模式但将内省保持在单独会话中，可切换到此模式。 这样，如果内省耗时较长，不会阻塞其他客户端。
:
:
:
: 数据库内省会话会在数据源节点下的   服务  工具窗口中显示为  `introspection` 。
:
:
:
: ![所有连接都在一个会话中，内省则在单独的会话中](https://resources.jetbrains.com/help/img/idea/2026.3/session_control_two_sessions.png)
:
: 要启用  `introspection` 会话的显示，请按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))打开 IDE 设置，转到  `数据库 | 查询执行 | 输出与结果` ，然后选择   在“服务”工具窗口中显示内部会话  。

专用会话
: 每个新客户端都会创建单独的会话。
:
:
:
: 数据库内省会话会在数据源节点下的   服务  工具窗口中显示为  `1` 。
:
:
:
: ![每个客户端使用单独的会话](https://resources.jetbrains.com/help/img/idea/2026.3/session_control_dedicated.png)
:
: 要启用  `1` 会话的显示，请按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))打开 IDE 设置，转到  `数据库 | 查询执行 | 输出与结果` ，然后选择   在“服务”工具窗口中显示内部会话  。

Procedure: 更改会话模式

若要控制客户端如何使用会话，请执行以下操作：

1. 打开   数据源和驱动程序   对话框（ `Shift+Enter` (Windows), `⌘ I` (macOS), `⇧ ⏎` (IntelliJ IDEA Classic (macOS)), `⌘ I` (macOS System Shortcuts), `Shift+Enter` (XWin), `Shift+Enter` (GNOME), `Shift+Enter` (KDE), `Shift+Enter` (Emacs), `Shift+Enter` (Sublime Text), `⌘ I` (Sublime Text (macOS)), `Shift+Enter` (Visual Studio), `⌘ I` (Visual Studio (macOS)), `Shift+Enter` (NetBeans), `Shift+Enter` (Eclipse), `⌘ I` (Eclipse (macOS)) ）并选择数据源。

2. 在对话框的右侧窗格中，打开   选项  选项卡。

3. 在   连接  设置部分，从   会话控制  下拉菜单中选择模式。

4. 点击   OK  以应用更改。

5. （可选）如果出现   应用更改   对话框，请选择您想要继续的方式。

![“应用更改”对话框](https://resources.jetbrains.com/help/img/idea/2026.3/db_single_session_mode_apply_changes_dialog.png)

* 否 ：保持已连接的会话完好无损。

* 是 ：断开所有已连接的会话。

![在数据源和驱动程序对话框中更改数据源的会话模式](https://resources.jetbrains.com/help/img/idea/2026.3/db_change_session_mode.png)

Procedure: 切换会话

如果您需要在不同的会话中运行查询或 SQL 文件，您可以切换到另一个会话。

* 要切换会话，请在   服务   工具窗口中，右键点击要为其切换会话的文件，点击   切换会话  ，然后选择要将该文件附加到的会话。

![在“服务”工具窗口中切换 SQL 文件的会话](https://resources.jetbrains.com/help/img/idea/2026.3/db_switch_session_for_sql_file.png)

通过上下文菜单，您可以对会话执行以下基本操作：更改事务模式、取消会话中正在运行的语句、切换客户端的会话或数据源。 您还可以 [将会话移动到单独的选项卡](#move_a_session_to_a_separate_tab)，在   服务  工具窗口中。

![数据库会话上下文菜单](https://resources.jetbrains.com/help/img/idea/2026.3/db_database_sessions_context_menu.png)

Tx 模式
: 设置事务模式。

切换会话
: 将客户端附加到其他会话。

切换数据源
: 将客户端附加到其他数据源。

在新选项卡中打开
: 将会话或数据源移至单独的选项卡。

删除
: 删除该会话。

跳转到源
: 将焦点移动到会话的客户端。

Procedure: 将会话移至单独的选项卡

* 右键点击会话并选择   在新选项卡中打开  。

* 全部会话 ![所有数据库会话在一个选项卡中](https://resources.jetbrains.com/help/img/idea/2026.3/db_sessions_all_sessions.png)

* 单独选项卡 ![会话的单独选项卡](https://resources.jetbrains.com/help/img/idea/2026.3/db_sessions_separate_tab.png)

## 服务工具窗口参考

有关工具窗口控件和选项卡的更多信息，请参阅 [Services 工具窗口](services-tool-window.html#db-sessions)主题。

![“服务”工具窗口中的数据库服务](https://resources.jetbrains.com/help/img/idea/2026.3/db_services_tool_window_database_services.png)

