SQL Server Management Studio (SSMS) 中的 Copilot 包括一个聊天窗口,用于以自然语言与 Copilot 交互。 可以询问有关 SQL 的 Copilot 常规问题、特定于数据库的问题,或获取编写或编辑 T-SQL 的帮助。
在聊天窗口中,确定提交提示的上下文。 基于打开的查询编辑器窗口,上下文可以是一般的 Copilot,也可以是特定的数据库。 在数据库的上下文中,SSMS 中的 Copilot 了解上下文(SQL 版本)和数据库(架构感知),因此响应是针对你的环境定制的。
注释
SSMS 中 Copilot 的查询语句是根据用户登录和权限的上下文进行执行的。 SSMS 中没有针对 Copilot 的单独权限。
开始吧
配置 Copilot 后,使用以下命令打开聊天窗口:
- 视图>副驾驶员
- Ctrl + Alt + C
- 工具栏上的 Copilot 按钮
聊天窗口是一个工具窗口,与对象资源管理器类似,可以在 SSMS 平台内的任何位置停靠。 若要在工具窗口中移动 Copilot,请选择标题栏并将其拖动到另一个位置。
使用 Ctrl + 鼠标滚轮在 SSMS 工具窗口中增加或减小 Copilot 中的文本大小。
更改上下文
如果最初在没有连接查询编辑器窗口的 SSMS 中打开 Copilot,则 Copilot 未连接到任何数据库,但仍可以询问有关 SQL 或 SSMS 的一般问题。 在此情境中,当前上下文为 SSMS 中的 Copilot。
若要查询特定数据库,可以使用自然语言转 SQL(NL2SQL)工具或寻求其他帮助,请打开连接到该数据库的查询编辑器窗口。 若要将 Copilot 的上下文更改为该连接,请在提示框中输入符号 @
以显示可用的上下文列表。 上下文包括查询编辑器的名称和连接信息。 选择上下文后,编辑器和连接将列为提示框上方的当前上下文。
密钥 | DESCRIPTION |
---|---|
1 | 标题栏 |
2 | 工具窗口控件,用于固定或关闭 Copilot 窗口 |
3 | 聊天选项,用于导出或清除聊天历史记录 |
4 | Copilot 响应上下文 |
5 | 提交的提示 |
6 | 反馈图标 |
7 | Copilot 响应,包括查询内容 |
8 | 当前上下文 |
9 | 当前模式 |
10 | 提示框 |
11 | 状态信息 |
12 | 提示选项,查看提示历史记录并提交提示 |
提交提示
在提示框中输入提示,然后选择箭头图标(发送)或 Enter 以提交它。 提交的提示将显示在聊天窗口中。 当 Copilot 等待响应时,可能会显示 一条思考... 消息。 响应在提示下方返回,顶部的响应上下文可帮助你跟踪对话。
对于 NL2SQL 提示符,Copilot 查询数据库元数据以提供数据库中对象的上下文。
如果打开另一个查询编辑器窗口,Copilot 将显示一条消息,其中包含有关如何更改到该连接的说明。 它不会自动将上下文更改为新打开的窗口。
查看以前的提示
Copilot 会跟踪最近的提示,可从最近的历史记录图标(显示最近出现的问题)中进行选择。 从可用列表中,选择任何提示,然后再次提交,或编辑然后提交。
将 Transact-SQL 复制并插入查询编辑器
Copilot 的响应可以包括 T-SQL 语句,这些语句在响应中呈现,并包括 “复制 ”和 “插入 ”按钮。 使用 Copy 将 T-SQL 复制到剪贴板,并 插入 以将 T-SQL 直接插入到查询编辑器中。 插入操作根据光标所在的位置进行。
清除聊天历史记录
若要重置或清除聊天历史记录,请使用扫把图标(清除聊天历史记录)。 此作会清除聊天历史记录中的所有现有提示和响应,并且无法检索它们。 聊天中以前的信息丢失,你开始聊天就像你第一次为编辑器打开了 Copilot 一样。
保存聊天历史记录
可以使用导出图标(导出)保存聊天历史记录。 在“ 另存为 ”对话框中,浏览到要保存文件的位置。 根据需要编辑 文件名 ,然后选择“ 保存” 以将聊天保存为 Markdown 文件。
Markdown 文件可以在 SSMS 21 中打开,并使用 Markdown 查看器以 Markdown 格式呈现。 若要调用查看器,请使用“预览”按钮或 Shift + F7。
更改数据库上下文
Copilot 了解关于你在查询编辑器中连接的数据库的上下文。 如果要在同一编辑器窗口中连接到其他数据库,请使用数据库下拉列表或使用 T-SQL(例如)。 USE WideWorldImporters;
首次更改数据库上下文时,聊天中记录了连接已更改的消息。 每次数据库上下文更改时,提示框上方的当前上下文都会更新。
更改模式
Copilot 支持多个查询执行模式,可以使用相应的命令在提示框中进行更改。 默认模式为 只读。
模式 | 指令 | DESCRIPTION |
---|---|---|
只读 | /ro |
仅执行读取数据的查询。 |
需审批后可读/写 | /rwa |
执行读取数据的查询,并在用户批准后执行写入(修改数据或架构)的查询。 |
读取写入 | /rw |
执行读取数据的查询,并自动执行写入(修改数据或架构)的查询(无需审批)。 |
对于正在使用的任何模式,Copilot 仅有权执行用户可以执行的语句。 例如,你可能无权从 Sales.Orders
表中删除数据。 如果要求 Copilot 编写删除数据的语句,例如 DELETE * FROM Sales.Orders
,当 Copilot 尝试执行查询时,它将失败。
若要将 Copilot 的默认模式从 “只读 ”更改为“已 批准读/写”,请转到 “工具>选项>”Copilot。 使用下拉列表更改 默认执行模式的值。 无法将 默认执行模式 设置为 “读取写入”。
其他命令
Copilot 提供用于自定义体验、捕获信息和调整吞吐量的命令。
名称 | 指令 | DESCRIPTION |
---|---|---|
风格 | /style: |
仅执行读取数据的查询。 |
日志 | /log |
将输出窗口中的信息直接保存到文件中 %USERPROFILE%\AppData\Local\SSMSCopilot 。 可以使用 视图>输出显示输出窗口。 从“显示输出”下拉列表中选择 Copilot。 |
设置最大结果令牌 | /mrt: |
设置由 Copilot 发出的 T-SQL 查询返回给模型的最大令牌数。 默认值为 75,000 个标记。 如果令牌大小小于查询返回的数据,模型会调整其响应以指示限制,例如“数据库中所有对象的列表太大,无法处理单个查询”。 |
设置每分钟的最大令牌数 | /tpm: |
设置每分钟可由 Copilot 发送到模型的最大令牌数。 这可以进行调整,以防止向模型过快发送过多数据,从而超出每分钟令牌容量(TPM)的终端点限制。 |
具有冒号 (:
) 的命令需要更多信息。 例如,提交提示 /style respond in the style of a super friendly assistant and use emojis
不会更改样式。
有关 Azure OpenAI 令牌限制的详细信息,请参阅 Azure OpenAI 服务配额和限制。
提供反馈
对于 Copilot 的每个响应,可以提供正面(竖起大拇指)或负面(拇指向下)反馈。 选择任一时,将显示“ 提交反馈到Microsoft ”对话框。 选择表示反馈的选项或选项,然后选择“ 提交”。 提交反馈时,提示和响应信息不会与Microsoft共享。
如果要提供详细信息(如提示和响应),请选择提供更多详细信息的选项。 选择 “提交”后, SSMS 的反馈站点 将在浏览器中打开,你可以创建反馈票证。 为了获得最佳帮助,请随工单附上聊天记录或日志文件。 或者,您可以从 SSMS 中的 帮助>发送反馈 访问反馈网站。