Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de modus GitHub Copilot Agent (preview) in SQL Server Management Studio (SSMS) kunt u in natuurlijke taal een algemeen doel opgeven en Copilot eraan laten werken door query's uit te voeren, bestanden te lezen en op basis van zijn eigen uitvoer te itereren totdat de taak is voltooid of uw input nodig is.
Opmerking
GitHub Copilot Agent-modus in SQL Server Management Studio (SSMS) is momenteel in preview.
In tegenstelling tot de vraagmodus, die stopt na één antwoord, gaat de agentmodus door met het uitvoeren van stappen, het aanroepen van hulpprogramma's en het verfijnen van de benadering totdat het uw doel bereikt. Alle query's en opdrachten worden uitgevoerd in de context van de aanmelding en machtigingen van de gebruiker, tenzij een aangepaste databasegebruiker of SQL-aanmelding is opgegeven in de front-matter van de database CONSTITUTION.md. Zie Execution-context voor GitHub Copilot in SQL Server Management Studio voor meer informatie.
Important
De agentmodus kan namens u query's uitvoeren en databasewijzigingen aanbrengen. Copilot vraagt uw goedkeuring aan voordat u elke query of opdracht uitvoert. Bekijk voorgestelde acties zorgvuldig voordat u ze goedkeurt. Toegangsbeheer afdwingen met behulp van de machtigingen voor minimale bevoegdheden van SQL Server. De beveiligingsgrens is de handhaving van SQL Server-machtigingen, niet het goedkeuringssysteem van Copilot.
Vraagmodus versus agentmodus
Gebruik de volgende tabel om te bepalen welke modus past bij uw taak:
| Vraagmodus | Agentmodus | |
|---|---|---|
| Hoe werkt het? | Eén antwoord per prompt; u code handmatig toepast | Uitvoering met meerdere stappen; itereert totdat het doel is bereikt |
| Uitvoering | Alleen-lezenquery's | Query's en opdrachten worden uitgevoerd met uw goedkeuring |
| Schemawijzigingen | Hiermee genereert u T-SQL om uit te voeren | Kan schemawijzigingen uitvoeren als u deze goedkeurt en uw account de juiste machtigingen heeft |
| Het beste voor | Ideeën verkennen, gegenereerde code controleren voordat u deze toepast | Complexe taken met meerdere stappen, onderzoek, analyse en iteratieve ontwikkeling |
| Onderbreking | Eén antwoord, u kunt op elk gewenst moment annuleren | U kunt op elk gewenst moment annuleren |
Prerequisites
- SSMS 22.7 of een latere versie met de AI Assistance-workload.
- Een GitHub-account met Copilot-toegang. U kunt ook GitHub Copilot gratis gebruiken in SQL Server Management Studio.
Agentmodus gebruiken
In de agentmodus werkt Copilot autonoom en bepaalt de relevante context voor uw prompt. De agentmodus voor GitHub Copilot in SSMS maakt gebruik van een lokale MCP-server, sql-tools voor de integratie en wordt geleverd met een vooraf gedefinieerde set hulpprogramma's.
- Selecteer in SSMS View>GitHub Copilot Chat om het chatvenster te openen.
- Vouw onder in het chatvenster de vervolgkeuzelijst modus uit en selecteer Agent.
- Selecteer rechtsonder in het chatvenster het pictogram Hulpmiddelen om de beschikbare hulpprogramma's te bekijken.
- Vouw uit
sql-toolsom de vooraf gedefinieerde hulpprogramma's weer te geven. Beweeg de muisaanwijzer over de naam van het hulpprogramma voor meer informatie over wat het doet. Als u alle hulpprogramma's uitschakelt, werkt de agentmodus niet zoals verwacht. - U kunt de
SSMSlijst met hulpprogramma's niet uitschakelen. - Voer uw prompt in waarin het doel op hoog niveau wordt beschreven en vermeld de naam van de database of server waarmee u werkt. De agentmodus neemt geen context over van de actieve query-editor.
Important
Neem voor de beste resultaten de database of server op in uw prompt. Deze toevoeging vermindert ambiguïteit en het aantal toolaanroepen. Als u geen verbindingsgegevens opneemt, leest Copilot uw lijst met verbindingen om een verbinding te identificeren die moet worden gebruikt of vraagt om uitleg over welke database of server u wilt gebruiken.
Als u de prompt wilt verzenden, selecteert u Verzenden of drukt u op Enter.
Voorbeeldprompts om aan de slag te gaan:
- In the WideWorldImporters database on the SalesPRD server, analyze the `Sales.usp_QuarterlySalesSummary` stored procedure and its execution plan and tell me how to improve it - The AdventureWorks database on the SalesPRD server had high CPU between 1PM and 2PM today, investigate what caused it - Find the SQL Agent jobs on the SalesPRD server that failed in the last 24 hours, analyze the history and explain what happened and how to fix the jobsDe agentmodus kan meerdere hulpprogramma's aanroepen om uw aanvraag te voltooien. Wanneer u bijvoorbeeld schemagegevens leest, Transact-SQL genereert en resultaten analyseert. Het actieve hulpprogramma wordt weergegeven in de chat terwijl elke stap wordt uitgevoerd.
Wanneer Copilot klaar is om een query of opdracht uit te voeren, wordt deze onderbroken en wordt u om goedkeuring gevraagd. Controleer de voorgestelde actie en selecteer Vervolgens Toestaan om door te gaan of Negeren om die stap over te slaan.
U kunt het goedkeuringsbereik configureren met behulp van de vervolgkeuzelijst Toestaan :
Option Effect Eenmaal toestaan Keurt deze enkele aanroep goed Toestaan voor deze sessie Keurt dit hulpprogramma goed voor de rest van deze chatsessie Altijd toestaan Keur dit hulpprogramma goed voor alle volgende aanroepen Ga naar Tools>Options>GitHub>Copilot>Tools om de goedkeuringsinstellingen voor hulpprogramma's opnieuw in te stellen.
Copilot controleert het resultaat van elke stap. Als een query een fout retourneert of een resultaat dat niet aan uw doel voldoet, wijzigt Copilot de benadering en probeert het opnieuw automatisch.
Wanneer de taak is voltooid, geeft Copilot een overzicht van wat de taak heeft gedaan. Controleer de wijzigingen die zijn toegepast op uw database of de query-editor.
Hulpprogramma's voor agentmodus begrijpen
In de agentmodus kan Copilot de volgende hulpprogramma's gebruiken om uw aanvraag te voltooien:
- Ingebouwde hulpprogramma's
- Model Context Protocol (MCP) hulpprogramma's
- Agentvaardigheden die taakspecifieke instructies bieden
Opmerking
De agentmodus werkt alleen met databases en objecten waarmee u toegang hebt of waarmee u verbinding kunt maken, of met behulp van referenties in het databasebestand CONSTITUTION.md . Het heeft geen verhoogde machtigingen boven de rechten die uw aanmeldgegevens al hebben.
Als u de hulpprogramma's wilt weergeven en beheren die beschikbaar zijn in de agentmodus, selecteert u het pictogram Extra in het chatvenster. Op basis van het resultaat van een hulpprogramma kan Copilot andere hulpprogramma's aanroepen om de algehele aanvraag uit te voeren. Als een bewerking van een T-SQL-code bijvoorbeeld resulteert in een syntaxisfout, kan Copilot een andere benadering verkennen en een andere wijziging voorstellen.
U kunt ook de agentmodus uitbreiden met MCP-servers om Copilot te verbinden met externe hulpprogramma's en services. De hulpprogramma's die beschikbaar zijn voor een MCP-server, worden niet automatisch ingeschakeld. Hun selectievakjes zijn standaard uitgeschakeld en u moet ze selecteren om de hulpprogramma's te activeren.
Goedkeuringen van hulpprogramma's beheren
Copilot vraagt om bevestiging voordat het een query uitvoert of een extern hulpprogramma aanroept. Deze stap beschermt u tegen onbedoelde wijzigingen. Voor elke actie is standaard een expliciete goedkeuring vereist.
Wanneer u een hulpprogramma goedkeurt, gebruikt u de vervolgkeuzelijst Toestaan om persistentie in te stellen:
- Toestaan voor deze sessie: geen verdere prompts voor dat hulpprogramma in de huidige chatsessie
- Altijd toestaan: blijft behouden tussen sessies voor die tool
Als u goedkeuringen wilt controleren en opnieuw wilt instellen, gaat u naar Tools>Options>GitHub>Copilot>Tools.
Bewerkingen accepteren of negeren
Wanneer de agentmodus wijzigingen toepast op het openen van bestanden, wordt er een totaaloverzicht van wijzigingen weergegeven in het chatvenster. Selecteer elk bestand om wijzigingen afzonderlijk te controleren. U kunt wijzigingen in elke codesectie behouden of ongedaan maken met behulp van de knoppen Behouden en Ongedaan maken . U kunt ook in de lijst Met totalen wijzigingende optie Behouden of Ongedaan maken selecteren voor alle wijzigingen die zijn aangebracht sinds de laatste keer dat u Behouden of Ongedaan maken hebt geselecteerd.
Overzichtsweergave met meerdere bestanden
Vanaf SSMS 22.6 kunt u, wanneer Copilot meerdere bestanden bewerkt, alle wijzigingen in één overzichtsweergave bekijken in plaats van afzonderlijk tussen bestanden te schakelen.
- Nadat Copilot klaar is met bewerken, selecteert u de knop Samenvattingsweergave openen in de Copilot Chat werkset.
- Er wordt één tabblad geopend met alle gewijzigde bestanden met de vermelde verschillen.
- U kunt wijzigingen op verschillende granulariteitsniveaus accepteren of ongedaan maken:
- In alle bestanden tegelijk, met behulp van de algemene knoppen Bestanden behouden en Bestanden ongedaan maken .
- Voor elk bestand met de knoppen Alle wijzigingen behouden en Alle ongedaan maken .
- Voor elke afzonderlijke codewijziging gebruikt u Behouden (Ctrl + Y) en Ongedaan maken (Ctrl + N).
- Gebruik de knoppen in de linkerbovenhoek van het venster om:
- Alle bestandsinhoud samenvouwen om alleen bestandskoppen weer te geven voor een snel overzicht
- Navigeer tussen verschillende segmenten met behulp van de volgende en vorige knoppen om snel door wijzigingen te bladeren. U kunt ook elk bestand selecteren om het afzonderlijk te openen en de volledige context ervan te bekijken.
Een aanvraag voor de agentmodus onderbreken
Als u een doorlopende agentmodusaanvraag op elk gewenst moment wilt stoppen, selecteert u Annuleren in het chatvenster. Als u annuleert, worden alle actieve hulpprogramma's en query's die in behandeling zijn, gestopt. Alle query's die al zijn uitgevoerd en goedgekeurd , worden niet automatisch teruggedraaid. Controleer de databasestatus nadat u een bewerking met meerdere stappen hebt geannuleerd, indien nodig.
Scenarios
In de volgende voorbeelden ziet u hoe de agentmodus veelvoorkomende SQL Server taken verwerkt. Deze voorbeelden zijn representatieve prompts. Pas ze aan uw database en doelstellingen aan.
Een opgeslagen procedure maken en testen
Within the WideWorldImporters database on the PRD-Sales server, create a stored procedure named Sales.GetTopCustomers that accepts a date range and a row count, and returns the top N customers by total order value in that date range. Include error handling and test it with sample parameters.
In de agentmodus wordt het schema van uw database gelezen om de juiste tabellen te identificeren, de opgeslagen procedure op te stellen, de CREATE PROCEDURE instructie uit te voeren en vervolgens een testuitvoering uit te voeren met voorbeeldparameters om de uitvoer te valideren.
Queryprestaties optimaliseren
The query in the active editor, connected to AdventureWorks on the TEST-AW server is running slowly. Analyze its execution plan and suggest options to improve performance.
De agentmodus kan een geschat uitvoeringsplan voor uw query genereren, Query Store gebruiken om het plan te vinden of een daadwerkelijk plan te gebruiken als u dit opneemt als referentie. Het identificeert antipatronen in de query en de uitvoeringsplannen, inclusief ontbrekende indexen. Het stelt specifieke code- en schemawijzigingen voor, inclusief CREATE INDEX instructies, en kan de wijzigingen implementeren als u het goedkeurt. Implementeer altijd wijzigingen in een test- of ontwikkelomgeving voordat u deze toepast op een productiedatabase.
Logboeken onderzoeken
Analyze the SQL ERRORLOG for the PRD-HR server for the last month and give me a list of errors and problems and solutions for fixing them.
De agentmodus controleert de ERRORLOG-bestanden voor het exemplaar, maakt een lijst met geïdentificeerde problemen en genereert suggesties voor oplossing.
Machtigingshiaten controleren en oplossen
Review the permissions for the Reporting role in the CustomerSales database on the PRD-Sales server and identify any tables in the Sales schema that it can't access. Add the missing SELECT permissions.
De agentmodus voert query's uit op de weergaven van de machtigingscatalogus, identificeert hiaten, genereert GRANT instructies en voert deze uit als u deze goedkeurt.
Uitvoeringscontext en machtigingen
Alle query's en opdrachten die de agentmodus uitvoert, worden uitgevoerd in de context van uw geverifieerde account, tenzij u een databasegebruiker of SQL-aanmelding aanwijst voor GitHub Copilot in de CONSTITUTION.md van de database als de agentExecuteAsUser.
- Als uw aanmelding geen machtiging heeft om een tabel te wijzigen, kan de agentmodus deze ook niet wijzigen, zelfs niet als u de voorgestelde query goedkeurt.
- Copilot's goedkeuringssysteem is geen beveiligingsgrens. Pas het principe van minimale bevoegdheden in uw database toe: verwijs gebruikers alleen de machtigingen die ze nodig hebben voor specifieke objecten.
- Zie Execution-context voor GitHub Copilot in SQL Server Management Studio voor databases waarin u een databasegebruiker of SQL-aanmelding wilt opgeven.
- Als een databasegebruiker of SQL-login is opgegeven voor een database en de gebruiker van GitHub Copilot niet over de IMPERSONATE-machtiging beschikt, kan diegene GitHub Copilot niet voor die database gebruiken.
Standaard is de agentmodus geconfigureerd als READ_ONLY. Als uw aanmeldgegevens, of het agentExecuteAsUser-account, machtigingen hebben om gegevens of het databaseschema te wijzigen, voert GitHub Copilot deze query's niet standaard uit.
U kunt de agentmodus READ_WRITE wijzigen in het mcp.json-bestand. Als uw login of het agentExecuteAsUser-account niet de vereiste machtigingen heeft om de gegevens of het databaseschema te wijzigen, mislukken dergelijke query's door SQL-beveiligingsmachtigingen.
Veelgestelde vragen
Worden in de agentmodus automatisch query's uitgevoerd zonder mij te vragen?
No. De agentmodus vraagt uw goedkeuring aan voordat u elke query of opdracht uitvoert. U kunt ervoor kiezen om een hulpprogramma voor de huidige sessie toe te staan of om goedkeuringsprompts altijd te verminderen.
Wat gebeurt er als een query mislukt?
De agentmodus detecteert de fout, analyseert deze en wijzigt de benadering automatisch. Het probeert het probleem op te lossen zonder verdere inbreng van u. Als de fout na verschillende pogingen niet kan worden opgelost, wordt de fout gerapporteerd en wordt u om hulp gevraagd.
Hoe verschilt de agentmodus van de modus Vragen?
De vraagmodus retourneert één antwoord en stopt. U bepaalt of u de gegenereerde code wilt toepassen. De agentmodus voert meerdere stappen autonoom uit, voert query's uit met uw goedkeuring, bewaakt resultaten en itereert. Gebruik de modus Vraag wanneer u volledige controle wilt over elke stap; gebruik de agentmodus voor complexe taken met meerdere stappen, waarbij u alleen richtlijnen biedt.
Kan ik de agentmodus gebruiken met MCP-servers?
Ja. U moet zich in de agentmodus bevinden om MCP-hulpprogramma's te kunnen gebruiken. Zie Gebruik MCP-servers met GitHub Copilot in SQL Server Management Studio.
Hoe beheer ik als beheerder de agentmodus voor mijn organisatie?
Beheerders beheren de agentmodus via het GitHub Copilot dashboard. Zie Admin-besturingselementen voor GitHub Copilot in SQL Server Management Studio voor meer informatie.
Verwante inhoud
- De GitHub Copilot Chat-ervaring gebruiken in SQL Server Management Studio
- Vaardigheden van agent gebruiken met GitHub Copilot in SQL Server Management Studio
- Gebruik MCP-servers met GitHub Copilot in SQL Server Management Studio
- Execution-context voor GitHub Copilot in SQL Server Management Studio
- Problemen met GitHub Copilot oplossen in SQL Server Management Studio