A GitHub Copilot ügynök mód (előzetes verzió) használata az SQL Server Management Studio-ban

A GitHub Copilot ügynökmódja (előzetes verzió) a SQL Server Management Studio (SSMS) alkalmazásban lehetővé teszi, hogy természetes nyelven megadjon egy magas szintű célkitűzést, majd a Copilot lekérdezések végrehajtásával, fájlok olvasásával és saját eredményeit iteratívan finomítva önállóan dolgozzon rajta, amíg a feladat be nem fejeződik, vagy az Ön beavatkozására nincs szükség.

Note

A SQL Server Management Studio (SSMS) GitHub Copilot ügynökmódja jelenleg előzetes verzióban érhető el.

Az egyetlen válasz után leálló Ask módtól eltérően az Ügynök mód továbbra is futtatja a lépéseket, eszközöket hív meg, és finomítja annak megközelítését, amíg el nem éri a célját. A rendszer minden lekérdezést és parancsot a felhasználó bejelentkezési adatainak és engedélyeinek kontextusában hajt végre, kivéve, ha egyéni adatbázis-felhasználó vagy SQL-bejelentkezés van megadva az adatbázis előlapján CONSTITUTION.md. További információért lásd: A GitHub Copilot végrehajtási környezete a SQL Server Management Studio-ban.

Important

Az ügynök mód lekérdezéseket hajthat végre, és adatbázis-módosításokat hajthat végre az Ön nevében. Copilot az egyes lekérdezések vagy parancsok futtatása előtt kéri a jóváhagyást. Jóváhagyásuk előtt gondosan tekintse át a javasolt műveleteket. A hozzáférés-vezérlés kényszerítése SQL Server minimális jogosultsági engedélyeinek használatával. A biztonsági határ SQL Server engedélykényszerítése, nem Copilot jóváhagyási rendszere.

Kérdezési mód kontra ügynökmód

Az alábbi táblázat segítségével döntse el, hogy melyik mód felel meg a feladatnak:

Kérdezés mód Ügynök mód
Hogyan működik Egy válasz promptonként; a kódot manuálisan alkalmazza Többlépéses végrehajtás; iterál, amíg el nem éri a célt
Kivégzés Csak olvasható lekérdezések A lekérdezések és parancsok az Ön jóváhagyásával hajtanak végre
Sémamódosítások Lefuttatható T-SQL-kódot hoz létre. A sémamódosítások akkor hajthatók végre, ha ön jóváhagyja őket, és a bejelentkezés rendelkezik engedéllyel
Legjobb Ötletek felfedezése, létrehozott kód áttekintése alkalmazás előtt Összetett többlépéses feladatok, vizsgálat, elemzés és iteratív fejlesztés
Megszakítás Egyszeri válasz, bármikor lemondhatja Bármikor lemondhatja

Prerequisites

Ügynök mód használata

Ügynök módban a Copilot önállóan működik, és meghatározza a kérdés megfelelő kontextusát. Az SSMS-GitHub Copilot ügynökmódja egy helyi MCP-kiszolgálót használ, sql-tools az integrációhoz, és előre meghatározott eszközökkel szállít.

  1. Az SSMS-ben válassza a View>GitHub Copilot Chat lehetőséget a csevegőablak megnyitásához.
  2. A csevegőablak alján bontsa ki a mód legördülő listáját, és válassza az Ügynök lehetőséget.
  3. A csevegőablak jobb alsó részén kattintson az Eszközök ikonra az elérhető eszközök megtekintéséhez.
  4. Bontsa ki a(z) sql-tools elemet az előre meghatározott eszközök megjelenítéséhez. Vigye az egérmutatót az eszköz nevére, hogy többet tudjon meg a funkciójáról. Ha törli az összes eszköz kijelölését, az Ügynök mód nem a várt módon működik.
  5. Az eszközök listáját nem tilthatja le SSMS .
  6. Adja meg a magas szintű célt leíró kérést, és adja meg annak az adatbázisnak vagy kiszolgálónak a nevét, amin dolgozik. Az ügynök mód nem örökli a környezetet az aktív lekérdezésszerkesztőtől.

Important

A legjobb eredmény érdekében vegye fel az adatbázist vagy a kiszolgálót a parancssorba. Ez a befogadás csökkenti a kétértelműséget és az eszközhívások számát. Ha nem tartalmaz kapcsolati adatokat, Copilot beolvassa a kapcsolatlistát a használni kívánt kapcsolat azonosításához, vagy pontosítást kér arról, hogy melyik adatbázist vagy kiszolgálót használja.

  1. A kérés elküldéséhez válassza a Küldés lehetőséget, vagy nyomja le az Enter billentyűt.

    Példák az első lépésekre:

    - 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 jobs
    
  2. Az ügynök mód több eszközt is meghívhat a kérés teljesítéséhez. Például a sémainformációk olvasása, a Transact-SQL létrehozása és az eredmények elemzése során. Az aktív eszköz minden lépés futtatásakor megjelenik a csevegésben.

  3. Ha Copilot készen áll egy lekérdezés vagy parancs végrehajtására, szünetelteti és kéri az Ön jóváhagyását. Tekintse át a javasolt műveletet, majd válassza a Folytatás engedélyezése lehetőséget, vagy az Elvetés lehetőséget a lépés kihagyásához.

    A jóváhagyás hatókörét az Engedélyezés legördülő listával konfigurálhatja:

    Option Effect
    Engedélyezés egyszeri alkalommal Jóváhagyja ezt az egyetlen hívást
    A munkamenet engedélyezése Engedélyezi ezt az eszközt az aktuális csevegési munkamenet hátralévő részére
    Mindig engedélyezze Jóváhagyja ezt az eszközt az összes további meghíváshoz

    Az eszköz jóváhagyási beállításainak alaphelyzetbe állításához lépjen a Tools>Options>GitHub>Copilot>Tools.

  4. Copilot figyeli az egyes lépések eredményét. Ha egy lekérdezés olyan hibát vagy eredményt ad vissza, amely nem felel meg a célnak, Copilot módosítja a megközelítését, és automatikusan újra próbálkozik.

  5. Ha a feladat befejeződött, Copilot összefoglalja, hogy mit tett. Tekintse át az adatbázisra vagy a lekérdezésszerkesztőre alkalmazott módosításokat.

Az Ügynök mód eszközeinek ismertetése

Ügynök módban Copilot a következő eszközökkel fejezheti be a kérést:

Note

Az ügynök mód csak olyan adatbázisokkal és objektumokkal működik, amelyekhez hozzáférhet, illetve amelyekhez csatlakozhat, illetve az adatbázisfájl CONSTITUTION.md hitelesítő adatainak használatával. Nem rendelkezik emelt szintű engedélyekkel a már meglévő hitelesítő adatokon túl.

Az Ügynök módban elérhető eszközök megtekintéséhez és kezeléséhez válassza az Eszközök ikont a csevegőablakban. Az eszköz eredményei alapján a Copilot más eszközöket is meghívhat az általános kérés végrehajtásához. Ha például egy T-SQL-kód szerkesztése szintaxishibát eredményez, Copilot egy másik megközelítést is megvizsgálhat, és más módosítást javasolhat.

Az Ügynök üzemmódot MCP-kiszolgálókkal is bővítheti, hogy Copilot külső eszközökhöz és szolgáltatásokhoz csatlakozzon. Az MCP-kiszolgálóhoz elérhető eszközök nincsenek automatikusan engedélyezve. A jelölőnégyzetek alapértelmezés szerint törlődnek, és az eszközök aktiválásához ki kell jelölnie őket.

Eszközjóváhagyások kezelése

Copilot a lekérdezés futtatása vagy külső eszköz meghívása előtt megerősítést kér. Ez a lépés védelmet nyújt a nem szándékos módosításoktól. Alapértelmezés szerint minden művelethez explicit jóváhagyás szükséges.

Az eszköz jóváhagyásakor az Engedélyezés legördülő listával állíthatja be az adatmegőrzést:

  • A munkamenet engedélyezése: nincs további kérés az eszközhöz az aktuális csevegési munkamenetben
  • Mindig engedélyezés: az adott eszköz munkamenetein belül megmarad

A jóváhagyások áttekintéséhez és visszaállításához lépjen a Tools>Options>>>>Tools.

Módosítások elfogadása vagy elvetése

Ha az Ügynök mód módosításokat alkalmaz a megnyitott fájlokra, megjelenik a teljes módosítás összegzése a csevegésablakban. Jelölje ki az egyes fájlokat a módosítások egyenkénti áttekintéséhez. A Kód egyes szakaszain végzett módosításokat a Keep and Undo ( Megtartás és visszavonás) gombokkal tarthatja meg vagy vonhatja vissza . Másik lehetőségként az Összes módosítás listában válassza a Keep or Undo ( Megtartás vagy Visszavonás ) lehetőséget a Legutóbbi módosítás vagy Visszavonás lehetőség kiválasztása óta végzett összes módosításhoz.

Többfájlos összefoglaló nézet

Az SSMS 22.6-os verziójától kezdve, amikor Copilot több fájlt szerkeszt, egyetlen összegző nézetben tekintheti át az összes módosítást ahelyett, hogy egyenként váltana a fájlok között.

  1. Miután Copilot befejezte a szerkesztést, válassza a A módosítások összegzési nézetének kiválasztása gombot a Copilot Chat munkakészletben.
  2. Megnyílik egy lap, amely az összes módosított fájlt megjeleníti a felsorolt különbségekkel.
  3. A módosításokat különböző részletességi szinteken fogadhatja el vagy vonhatja vissza:
  • Az összes fájlban egyszerre, a globális Fájlok megőrzése és a Fájlok visszavonása gombokkal.
  • Minden fájlhoz az Összes módosítás megtartása és az Összes visszavonása gombot használva.
  • Minden egyes kódmódosításnál használja a Keep (Ctrl + Y) és a Undo (Ctrl + N) lehetőséget.
  1. Az ablak bal felső sarkában található vezérlőkkel:
  • Csukja össze az összes fájl tartalmát, hogy a gyors áttekintéshez csak a fájlfejlécek jelenjenek meg.
  • A következő és az előző gombokkal navigálhat a diff-adattömbök között a módosítások gyors átugrásához Bármelyik fájlt külön is megnyithatja, és megtekintheti annak teljes környezetét.

Ügynök módú kérés megszakítása

Ha bármikor le szeretne állítani egy folyamatban lévő ügynök módú kérelmet, válassza a Mégse lehetőséget a csevegési ablakban. A megszakítás leállítja az összes futó eszközt és a függőben lévő lekérdezéseket. A már végrehajtott és jóváhagyott lekérdezések nem lesznek automatikusan visszaállítva. Ellenőrizze az adatbázis állapotát, miután szükség esetén megszakított egy többlépéses műveletet.

Scenarios

Az alábbi példák bemutatják, hogyan kezeli az Ügynök mód a gyakori SQL Server feladatokat. Ezek a példák reprezentatív kérések. Adaptálhatja őket az adatbázishoz és a célokhoz.

Tárolt eljárás létrehozása és tesztelése

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.

Az ügynök mód beolvassa az adatbázis sémáját a megfelelő táblák azonosításához, a tárolt eljárás megszövegezéséhez, az CREATE PROCEDURE utasítás végrehajtásához, majd a kimenet ellenőrzéséhez mintaparaméterekkel futtat egy tesztvégrehajtást.

Lekérdezési teljesítmény optimalizálása

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.

Az ügynök mód létrehozhat egy becsült végrehajtási tervet a lekérdezéshez, Query Store használatával megkeresheti a tervet, vagy használhat tényleges tervet, ha hivatkozásként használja. Azonosítja a lekérdezésben és a végrehajtási tervekben szereplő antimintákat, beleértve a hiányzó indexeket is. Konkrét kód- és sémamódosításokat javasol, beleértve CREATE INDEX az utasításokat is, és jóváhagyás esetén implementálhatja a módosításokat. Mindig implementáljon módosításokat egy teszt- vagy fejlesztési környezetben, mielőtt éles adatbázisra alkalmazza őket.

Naplók vizsgálata

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.

Az ügynök mód áttekinti a példány HIBANAPLÓ-fájljait, létrehozza az azonosított problémák listáját, és megoldási javaslatokat hoz létre.

Engedélyhiányok naplózása és javítása

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.

Az ügynök mód lekérdezi az engedélykatalógus nézeteit, azonosítja a hiányosságokat, utasításokat hoz létre GRANT , és ha jóváhagyja őket, végrehajtja őket.

Végrehajtási környezet és engedélyek

Az Ügynök mód által végrehajtott összes lekérdezés és parancs az Ön hitelesített fiókjának kontextusában fut le, kivéve, ha a GitHub Copilot számára adatbázis-felhasználót vagy SQL-bejelentkezést jelöl ki az adatbázis CONSTITUTION.md elemében agentExecuteAsUserként.

  • Ha a bejelentkezés nem rendelkezik a táblák módosítására vonatkozó engedéllyel, az Ügynök mód sem tudja módosítani azt, még akkor sem, ha jóváhagyja a javasolt lekérdezést.
  • Copilot jóváhagyási rendszere nem biztonsági határ. Alkalmazza a minimális jogosultság elvét az adatbázisban: csak az adott objektumokhoz szükséges engedélyeket adja meg a felhasználóknak.
  • Az olyan adatbázisok esetében, ahol adatbázis-felhasználót vagy SQL-bejelentkezést szeretne megadni, tekintse meg a GitHub Copilot Execution környezetét SQL Server Management Studio.
  • Ha adatbázis-felhasználó vagy SQL-bejelentkezés van kijelölve egy adatbázishoz, és a GitHub Copilot felhasználója nem rendelkezik IMPERSONATE engedéllyel, akkor nem használhatja az adatbázishoz GitHub Copilot.

Alapértelmezés szerint az Ügynök mód a következőképpen van konfigurálva READ_ONLY: . Ha a bejelentkezés vagy a agentExecuteAsUser fiók rendelkezik az adatok vagy az adatbázisséma módosítására vonatkozó engedélyekkel, GitHub Copilot alapértelmezés szerint nem hajtja végre ezeket a lekérdezéseket.

Az Ügynök üzemmódot READ_WRITE a mcp.json fájlban módosíthatja. Ha azonban a bejelentkezés vagy a agentExecuteAsUser fiók nem rendelkezik az adatok vagy az adatbázisséma módosítására vonatkozó engedéllyel, az ilyen lekérdezések az SQL biztonsági engedélyei miatt meghiúsulnak.

Gyakori kérdések

Az Ügynök mód automatikusan hajt végre lekérdezéseket anélkül, hogy megkérdezne?

No. Az ügynök mód minden lekérdezés vagy parancs végrehajtása előtt kéri a jóváhagyást. Engedélyezheti az eszközt az aktuális munkamenethez, vagy bármikor csökkentheti a jóváhagyási kéréseket.

Mi történik, ha egy lekérdezés meghiúsul?

Az ügynök mód észleli a hibát, elemzi és automatikusan módosítja annak megközelítését. Megkísérli megoldani a problémát anélkül, hogy további visszajelzést kapott volna Öntől. Ha több próbálkozás után nem tudja megoldani a hibát, jelenti a hibát, és útmutatást kér.

Miben különbözik az Ügynök mód a Kérdezés módtól?

Az Ask mód egyetlen választ ad vissza, és leáll. Ön dönti el, hogy alkalmazza-e a létrehozott kódot. Az ügynök mód több lépést futtat önállóan, lekérdezéseket hajt végre az Ön jóváhagyásával, figyeli az eredményeket és az iterálásokat. A Kérdés mód használata, ha minden lépés felett teljes körű vezérlést szeretne végezni; Az Ügynök üzemmódot olyan összetett, többlépéses feladatokhoz használhatja, ahol csak útmutatást ad.

Használhatom az Ügynök módot MCP-kiszolgálókkal?

Igen. Az MCP-eszközök használatához ügynök módban kell lennie. Lásd: MCP-kiszolgálók használata a GitHub Copilottal a SQL Server Management Studio-ban.

Rendszergazdaként hogyan szabályozhatom a szervezet ügynökmódját?

A rendszergazdák az GitHub Copilot irányítópulton keresztül irányítják az Ügynök módot. További információkért lásd: A GitHub Copilot adminisztrátori vezérlői a SQL Server Management Studio-ban.