代理模式允許 GitHub Copilot 使用 Visual Studio Code 的 MSSQL 擴充功能中可用的工具。 當擴充功能安裝並啟用時,Copilot 可以列出 SQL Server 連線、連接伺服器與資料庫,並取得資料庫元資料。
所有動作都使用與 MSSQL 擴充功能相同的連線上下文與憑證。 代理模式不會引入額外的認證或權限變更。
Tip
使用 Agent Mode 時,你不需要明確引用 MSSQL 擴充檔@mssql()。 如果擴充功能是啟用的,其工具會自動可用。 如需詳細資訊,請參閱 代理程式模式工具。
關於代理模式如何選擇與執行工具的詳細資訊,請參閱 Visual Studio Code 中關於代理模式的文件。
什麼是代理程式模式?
代理模式允許 GitHub Copilot 使用 MSSQL 擴充功能執行 SQL 相關操作,執行前需用戶確認。
你可以透過聊天變數如 #mssql_connect,或發出等效的自然語言請求來呼叫這些動作,例如:
Connect to my Library database using my LocalDev profile
MSSQL 代理程式模式工具參考
本節提供 GitHub Copilot 代理程式模式中可用 SQL 特定工具的詳細參考。 MSSQL 延伸模組會提供這些工具,讓 GitHub Copilot 透過聊天變數或自然語言提示來執行動作。 執行之前,所有工具都需要用戶確認。
Tip
您也可以使用聊天變數,例如 #mssql_connect 直接叫用這些工具,或以自然語言撰寫提示,例如:
Connect to my development database
GitHub Copilot 會自動處理工具選取。
連線管理
| 工具名稱 | Description |
|---|---|
connect |
透過儲存的連線設定檔或指定的伺服器與資料庫連接資料庫。 |
disconnect |
結束目前的活躍連線會話。 |
change_database |
變更現有連接會話的資料庫。 |
get_connection_details |
取得特定 MSSQL 連線的連線詳細數據。 |
list_servers |
列出您環境中所有儲存的 SQL Server 連線設定檔。 |
list_databases |
列出連線 MSSQL 伺服器的所有可用資料庫。 |
Examples
請使用以下短語與 GitHub Copilot 互動。
- Connect to my LocalDev environment
- Disconnect from my current database
- List my available connection profiles
- List all databases in the localhost server
- Set the active connection to localhost
- Set AdventureWorks as the active database
- Get the connection string for AdventureWorks on localhost
聯機邏輯的運作方式
GitHub Copilot 代理程式模式支持彈性的方式,透過參考已儲存的配置檔或直接指定伺服器和資料庫,來連線到 SQL 資料庫。 連線邏輯是這樣運作的。
當你用已儲存的個人檔案連接時:
- 你透過參考已儲存的連線設定檔名稱來連接。
- GitHub Copilot 會使用
mssql_list_servers工具來驗證設定檔是否存在的。 - 接著,工具
mssql_connect會使用已儲存的profileId及其參數來建立連線。
當你透過指定伺服器和資料庫來連接時:
如果儲存的設定檔符合指定的伺服器和資料庫:
- GitHub Copilot 會使用
mssql_list_servers來尋找相符專案。 - 然後,它會使用完整設定檔來呼叫
mssql_connect。
- GitHub Copilot 會使用
如果已儲存的設定檔僅適用於伺服器:
- GitHub Copilot 會尋找相符的伺服器配置檔。
- 它會嘗試藉由將使用者要求的資料庫整合進入該配置檔來連線。
- 如果連線失敗,則會顯示錯誤。
如果沒有任何檔案符合指定的伺服器:
- GitHub Copilot 報告錯誤。
這個靈活的配對系統讓 GitHub Copilot 能處理多種連線情境。 它能減少使用者的負擔,同時確保操作安全且可確認。
資料架構探索
| 工具名稱 | Description |
|---|---|
show_schema |
顯示已連線資料庫架構的高階圖表,包括數據表和關聯性。 |
list_schemas |
列出連接 MSSQL 伺服器之資料庫中的所有架構。 |
list_tables |
列出連接 MSSQL 伺服器之資料庫中的所有資料表。 |
list_views |
列出已連線至 MSSQL 伺服器的資料庫中的所有視圖。 |
list_functions |
列出連接 MSSQL 伺服器之資料庫中的所有函式。 |
Examples
請使用以下短語與 GitHub Copilot 互動。
- Show me the schema for this database
- Show me all tables in the current database
- List all views from this MSSQL database
- Give me a list of all the functions available in this schema
- What schemas are available in this database?
查詢執行
| 工具名稱 | Description |
|---|---|
run_query |
對連接的資料庫執行 SQL 查詢。 |
Examples
請使用以下短語與 GitHub Copilot 互動。
- Give me the top five posts published this week
- Execute the current file to find how many comments each post has
- Get all categories along with the number of posts in each
如何在代理程式模式中管理工具
GitHub Copilot 在處理你的請求時,可以使用 MSSQL 專用工具及其他擴充功能貢獻的工具。 你可以在 代理 模式介面的工具選單下看到這些工具,並且可以開啟或關閉特定工具。
當你呼叫工具時,尤其是當它與你的機器或資料庫互動時,GitHub Copilot 會要求確認以確保執行安全。 你可以選擇只允許此工具在當前工作階段、工作區或永久使用。
欲了解更多工具可見性與核准資訊,請參閱「管理工具核准」。
代理程式模式確認工作流程
當 GitHub Copilot 選擇工具時,會跳出確認對話框,顯示所請求動作的詳細資訊。 您必須先明確核准要求,才能執行與電腦或資料庫互動的任何命令:
- 允許此會話
- 在此工作區中允許
- 始終允許
此確認步驟有助於確保在開發環境中的安全、有意圖的互動。
Note
如需了解確認功能在代理模式下如何跨所有工具運作的詳細資訊,請參閱 Visual Studio Code 工具核准的說明文件。