Quickstart: GitHub Copilot-agent-modus gebruiken

Met de agentmodus kunt GitHub Copilot de hulpprogramma's die zijn bijgedragen door de MSSQL-extensie voor Visual Studio Code indelen. Wanneer de extensie is geïnstalleerd en actief is, kan GitHub Copilot Microsoft SQL Server verbindingen weergeven, verbinding maken met een server en database, schemametagegevens ophalen en query's uitvoeren, allemaal vanuit prompts in natuurlijke taal, met uw goedkeuring voor elke actie.

Alle acties gebruiken dezelfde verbindingscontext en referenties als de MSSQL-extensie. In de agentmodus worden geen andere verificatie- of machtigingswijzigingen geïntroduceerd.

Tip

Gebruik de agentmodus voor werkstromen met meerdere stappen, verkennen op schaal en gedelegeerde wijzigingen. Gebruik de vraagmodus wanneer u één antwoord of een eenmalige query nodig hebt. Gebruik de planmodus wanneer u reden moet hebben over een ontwerp voordat u Transact-SQL (T-SQL) data definition language (DDL) schrijft.

Belangrijke punten

  • In de agentmodus worden hulpprogramma's voor MSSQL-extensies automatisch opgehaald. Geen @mssql vermelding vereist.
  • Voor elke aanroep van het hulpprogramma is uw goedkeuring vereist voordat deze wordt uitgevoerd.
  • De agentmodus is schemabewust via de hulpprogramma's: elke aanroep van het hulpprogramma retourneert echte gegevens uit uw verbonden database.
  • Zie Hoe GitHub Copilot werkt met de MSSQL-extensie voor architectuurcontext op alle oppervlakken.

Wanneer moet u de agentmodus gebruiken

De agentmodus is het beste voor:

  • Werkstromen met meerdere stappen. Maak verbinding met LocalDev, schakel over naar AdventureWorks en laat me vervolgens elke tabel zien met een vreemde sleutel naar Customer.
  • Onderzoek op schaal. "Zoek alle opgeslagen procedures die verwijzen naar SalesOrderHeader en geef een overzicht van wat elke procedure doet."
  • Gedelegeerde wijzigingen. "Voeg auditkolommen toe aan elke tabel in het verkoopschema en genereer de gerelateerde opgeslagen procedures opnieuw."

Gebruik ask mode wanneer één vraag of een eenmalige query volstaat. Gebruik slash-opdrachten wanneer u al weet welke actie u wilt uitvoeren. Gebruik de planmodus wanneer u een geschreven plan wilt voordat u wijzigingen aanbrengt.

Zie de Visual Studio Code documentatie over de agentmodus voor meer informatie over hoe de agentmodus hulpprogramma's selecteert en uitvoert.

Wat is de agentmodus?

Met de agentmodus kan GitHub Copilot SQL-gerelateerde acties uitvoeren met behulp van de MSSQL-extensie en is gebruikersbevestiging vereist voordat deze wordt uitgevoerd.

U kunt deze acties aanroepen met behulp van chatvariabelen zoals #mssql_connect, of door equivalente aanvragen voor natuurlijke taal uit te geven, bijvoorbeeld:

Connect to my Library database using my LocalDev profile

Schermopname van de chatinterface van de GitHub Copilot-agentmodus.

Naslaginformatie voor MSSQL-Agentmodus

Deze sectie bevat een gedetailleerde referentie voor de SQL-specifieke hulpprogramma's die beschikbaar zijn in de GitHub Copilot-agentmodus. De MSSQL-extensie draagt bij aan deze hulpprogramma's, waardoor GitHub Copilot acties kan uitvoeren via chatvariabelen of prompts in natuurlijke taal. Voor alle hulpprogramma's is bevestiging van de gebruiker vereist voordat deze wordt uitgevoerd.

Schermopname van een lijst met SQL-specifieke hulpprogramma's die zijn bijgedragen door de MSSQL-extensie in de Copilot-agentmodus.

Tip

U kunt ook chatvariabelen #mssql_connect gebruiken om deze hulpprogramma's rechtstreeks aan te roepen of schrijfprompts in natuurlijke taal, zoals:

Connect to my development database

GitHub Copilot verwerkt de selectie van hulpprogramma's automatisch.

Verbindingsbeheer

Naam van hulpprogramma Description
connect Maakt verbinding met een database met behulp van een opgeslagen verbindingsprofiel of een opgegeven server en database.
disconnect Hiermee wordt de huidige actieve verbindingssessie beëindigd.
change_database Hiermee wijzigt u de database voor een bestaande verbindingssessie.
get_connection_details Hiermee haalt u verbindingsgegevens op voor een specifieke MSSQL-verbinding.
list_servers Een lijst met alle opgeslagen SQL Server-verbindingsprofielen in uw omgeving.
list_databases Een lijst met alle beschikbare databases voor een verbonden MSSQL-server.

Examples

Gebruik de volgende zinnen om te communiceren met 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

Schermopname van een voorbeeld van het gebruik van een agenthulpprogramma om verbinding te maken met een database in de GitHub Copilot-chat.

Hoe verbindingslogica werkt

GitHub Copilot Agent Mode ondersteunt flexibele manieren om verbinding te maken met uw SQL-database door te verwijzen naar opgeslagen profielen of door rechtstreeks een server en database op te geven. Hier ziet u hoe de verbindingslogica werkt.

Wanneer u verbinding maakt met een opgeslagen profiel:

  1. U maakt verbinding door te verwijzen naar de naam van een opgeslagen verbindingsprofiel.
  2. GitHub Copilot gebruikt het mssql_list_servers hulpprogramma om te controleren of het profiel bestaat.
  3. Het mssql_connect hulpprogramma gebruikt vervolgens de opgeslagen profileId en de bijbehorende parameters om de verbinding tot stand te brengen.

Wanneer u verbinding maakt door een server en database op te geven:

  • Als een opgeslagen profiel overeenkomt met zowel de opgegeven server als de database:

    1. GitHub Copilot gebruikt mssql_list_servers om de overeenkomst te vinden.
    2. Vervolgens roept het mssql_connect aan met behulp van het volledige profiel.
  • Als een opgeslagen profiel alleen overeenkomt met de server:

    1. GitHub Copilot zoekt het overeenkomende serverprofiel.
    2. Er wordt geprobeerd verbinding te maken door de door de gebruiker aangevraagde database in dat profiel te vervangen.
    3. Als de verbinding mislukt, wordt een fout weergegeven.
  • Als er geen profiel overeenkomt met de opgegeven server:

    • GitHub Copilot meldt een fout.

Met dit flexibele koppelingssysteem kan GitHub Copilot verschillende verbindingsscenario's afhandelen. Het minimaliseert de gebruikersinspanning en zorgt voor veilige, bevestigbare acties.

Schemaverkenning

Naam van hulpprogramma Description
show_schema Geeft een diagram op hoog niveau weer van uw verbonden databaseschema, inclusief tabellen en relaties.
list_schemas Een lijst met alle schema's in een database voor een verbonden MSSQL-server.
list_tables Geeft een lijst weer van alle tabellen in een database voor een verbonden MSSQL-server.
list_views Een lijst met alle weergaven in een database voor een verbonden MSSQL-server.
list_functions Een lijst met alle functies in een database voor een verbonden MSSQL-server.

Examples

Gebruik de volgende zinnen om te communiceren met 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?

Schermopname van animatie met het hulpprogramma databaseschema visualiseren in de Copilot-agentmodus.

Query uitvoeren

Naam van hulpprogramma Description
run_query Voert een SQL-query uit op de verbonden database.

Examples

Gebruik de volgende zinnen om te communiceren met 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

Schermopname van een voorbeeld van het gebruik van een agenthulpprogramma om verbinding te maken met een database en gegevens op te halen.

Schermopname van een ander voorbeeld met behulp van een agenthulpprogramma om verbinding te maken met een database en gegevens op te halen.

Hoe hulpprogramma's worden beheerd in de agentmodus

GitHub Copilot kan MSSQL-specifieke hulpprogramma's en andere hulpprogramma's met extensie-bijdragen gebruiken terwijl uw aanvraag wordt verwerkt. U kunt deze hulpprogramma's zien in de agentmodus-interface onder het menu Extra, waar u ook specifieke hulpprogramma's kunt in- of uitschakelen.

Wanneer u een hulpprogramma aanroept, met name als deze communiceert met uw computer of database, vraagt GitHub Copilot om bevestiging om een veilige uitvoering te garanderen. U kunt het hulpprogramma alleen toestaan voor de huidige sessie, de werkruimte of permanent.

Zie Goedkeuringen voor hulpprogramma's beheren voor meer informatie over zichtbaarheid en goedkeuringen van hulpprogramma's.

Bevestigingswerkstroom voor agentmodus

Wanneer GitHub Copilot een hulpprogramma selecteert, verschijnt er een bevestigingsdialoogvenster met details over de aangevraagde actie. U moet de aanvraag expliciet goedkeuren voordat deze opdrachten kan uitvoeren die interactie hebben met uw computer of database:

  • Toestaan in deze sessie
  • Toestaan in deze werkruimte
  • Altijd toestaan

Deze bevestigingsstap zorgt voor veilige, opzettelijke interacties met uw ontwikkelomgeving.

Note

Zie de Visual Studio Code-documentatie over goedkeuringen van hulpprogramma's voor meer informatie over hoe bevestiging werkt voor alle hulpprogramma's in de agentmodus.

Catalogus met prompts voor de agentmodus

Gebruik deze prompts in natuurlijke taal om MSSQL-extensiehulpprogramma's aan te roepen via de agentmodus. Voor elke categorie wordt verwezen naar een overeenkomende slash-opdracht of prompt voor de vraagmodus.

Verbindingsbeheer

Connect to my LocalDev profile and set AdventureWorks as the active database.
List all my saved connection profiles and tell me which one I'm currently connected to.
Disconnect from my current database.

Equivalente slash-opdrachten: /connect, /listServers, /changeDatabase, /disconnect.

Schemaverkenning

Show me every table in the SalesLT schema, grouped by whether they're
referenced by a foreign key from another table.
Find all stored procedures that reference SalesLT.SalesOrderHeader and
summarize what each one does in one sentence.
Which tables in the current database have no primary key?

Equivalenten vragen om vragen: zie Chat met de @mssql deelnemer.

Query uitvoeren

Run a query to count the number of active customers in SalesLT.Customer,
then show me the top 10 by order total.
Show me the execution plan for this query: SELECT ... FROM ...
Execute the last query I ran against my Dev database instead.

Werkstromen met meerdere stappen

Connect to LocalDev, switch to AdventureWorks, list all tables with a
foreign key to SalesLT.Customer, and save the list to a file called
customer-dependents.md.
Find every stored procedure that uses dynamic SQL and open each one
in a new editor tab so I can review them.

Gedelegeerde schemawijzigingen

Note

Schemawijzigingen zijn goede kandidaten om eerst de planmodus te doorlopen. Plan de wijzigingen, controleer ze en geef het plan vervolgens aan de agentmodus voor uitvoering.

Add createdAt and updatedAt audit columns to every table in the Sales
schema that doesn't already have them. Use DATETIME2(7) with a default
of GETUTCDATE().
Regenerate every stored procedure that inserts into SalesLT.Customer
to include the new email column.