Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tryb agenta umożliwia GitHub Copilot orkiestrowanie narzędzi dodanych przez rozszerzenie MSSQL dla Visual Studio Code. Gdy rozszerzenie jest zainstalowane i aktywne, GitHub Copilot może wyświetlać listę połączeń z serwerami Microsoft SQL Server, łączyć się z serwerem i bazą danych, pobierać metadane schematu oraz wykonywać zapytania — wszystko to na podstawie poleceń w języku naturalnym, po zatwierdzeniu każdej akcji przez użytkownika.
Wszystkie akcje używają tego samego kontekstu połączenia i poświadczeń co rozszerzenie MSSQL. Tryb agenta nie wprowadza innych zmian uwierzytelniania ani uprawnień.
Tip
Użyj trybu agenta dla wieloetapowych przepływów pracy, eksploracji na dużą skalę i delegowanych zmian. Użyj trybu pytania, jeśli potrzebujesz pojedynczej odpowiedzi lub jednorazowego zapytania. Użyj trybu planu , jeśli musisz wnioskować o projekcie przed napisaniem języka definicji danych Transact-SQL (T-SQL) (DDL).
Podjąć klucza
- Tryb agenta automatycznie pobiera narzędzia rozszerzenia MSSQL. Nie trzeba wspominać o
@mssql. - Każde wywołanie narzędzia wymaga zatwierdzenia przed wykonaniem.
- Tryb agenta jest świadomy schematu dzięki swoim narzędziom: każde wywołanie narzędzia zwraca rzeczywiste dane z podłączonej bazy danych.
- Aby zapoznać się z kontekstem architektonicznym we wszystkich interfejsach, zobacz Jak działa GitHub Copilot z rozszerzeniem MSSQL.
Kiedy używać trybu agenta
Tryb agenta jest najlepszy dla:
- Wieloetapowe przepływy pracy. Połącz się z LocalDev, przełącz się na bazę danych AdventureWorks, a następnie pokaż mi wszystkie tabele mające klucz obcy do tabeli Customer.
- Eksploracja na dużą skalę. Znajdź wszystkie procedury składowane, które odwołują się do tabeli SalesOrderHeader, i podsumuj, co robi każda z nich.
- Delegowane zmiany. Dodaj kolumny audytowe do każdej tabeli w schemacie Sales i ponownie wygeneruj powiązane procedury składowane.
Użyj trybu pytań, gdy pojedyncze pytanie lub jednorazowe zapytanie wystarczy. Użyj poleceń z ukośnikiem, gdy już wiesz, jakie działanie chcesz wykonać. Użyj trybu planu , jeśli chcesz napisać plan przed wszelkimi zmianami.
Aby uzyskać szczegółowe informacje na temat sposobu wybierania i wykonywania narzędzi w trybie agenta, zobacz dokumentację Visual Studio Code w trybie agenta.
Co to jest tryb agenta?
Tryb agenta umożliwia usłudze GitHub Copilot wykonywanie akcji związanych z bazą danych SQL przy użyciu rozszerzenia MSSQL, a potwierdzenie użytkownika jest wymagane przed wykonaniem.
Te akcje można wywołać przy użyciu zmiennych czatu, takich jak #mssql_connect, lub wysyłając równoważne żądania języka naturalnego, na przykład:
Connect to my Library database using my LocalDev profile
Dokumentacja narzędzia MSSQL Agent Mode
Ta sekcja zawiera szczegółowe informacje dotyczące narzędzi specyficznych dla języka SQL dostępnych w trybie agenta Copilot usługi GitHub. Rozszerzenie MSSQL współtworzy te narzędzia, umożliwiając usłudze GitHub Copilot wykonywanie akcji za pomocą zmiennych czatu lub monitów języka naturalnego. Wszystkie narzędzia wymagają potwierdzenia użytkownika przed wykonaniem.
Tip
Możesz również użyć zmiennych czatu, takich jak #mssql_connect, aby wywołać te narzędzia bezpośrednio, lub pisać monity w języku naturalnym, takie jak:
Connect to my development database
Narzędzie GitHub Copilot automatycznie obsługuje wybór narzędzi.
Zarządzanie połączeniami
| Nazwa narzędzia | Description |
|---|---|
connect |
Nawiązuje połączenie z bazą danych przy użyciu zapisanego profilu połączenia lub określonego serwera i bazy danych. |
disconnect |
Kończy bieżącą aktywną sesję połączenia. |
change_database |
Zmienia bazę danych dla istniejącej sesji połączenia. |
get_connection_details |
Pobiera szczegóły połączenia dla określonego połączenia MSSQL. |
list_servers |
Wyświetla listę wszystkich zapisanych profilów połączeń programu SQL Server w danym środowisku. |
list_databases |
Wyświetla listę wszystkich dostępnych baz danych dla połączonego serwera MSSQL. |
Examples
Użyj poniższych fraz, aby wchodzić w interakcje z rozwiązaniem 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
Jak działa logika połączenia
Tryb agenta Copilot usługi GitHub obsługuje elastyczne sposoby nawiązywania połączenia z bazą danych SQL, odwołując się do zapisanych profilów lub przez bezpośrednie określenie serwera i bazy danych. Oto jak działa logika połączenia.
Po nawiązaniu połączenia z zapisanym profilem:
- Nawiąż połączenie, odwołując się do nazwy zapisanego profilu połączenia.
- GitHub Copilot używa narzędzia
mssql_list_serversdo weryfikacji istnienia profilu. - Narzędzie
mssql_connectnastępnie używa zapisanegoprofileIdi jego parametrów do nawiązania połączenia.
Podczas nawiązywania połączenia przez określenie serwera i bazy danych:
Jeśli zapisany profil jest zgodny zarówno z określonym serwerem, jak i bazą danych:
- Narzędzie GitHub Copilot używa
mssql_list_serversdo znalezienia dopasowania. - Następnie wywołuje
mssql_connectprzy użyciu pełnego profilu.
- Narzędzie GitHub Copilot używa
Jeśli zapisany profil jest zgodny tylko z serwerem:
- Narzędzie GitHub Copilot znajduje pasujący profil serwera.
- Próbuje nawiązać połączenie, wstawiając bazę danych żądaną przez użytkownika do tego profilu.
- Jeśli połączenie zakończy się niepowodzeniem, zostanie wyświetlony błąd.
Jeśli żaden profil nie pasuje do określonego serwera:
- GitHub Copilot zgłasza błąd.
Ten elastyczny system dopasowania pozwala GitHub Copilot obsługiwać szereg scenariuszy połączeń. Minimalizuje nakład pracy użytkownika przy jednoczesnym zapewnieniu bezpiecznych, możliwych do potwierdzenia akcji.
Eksploracja schematu
| Nazwa narzędzia | Description |
|---|---|
show_schema |
Przedstawia ogólny diagram schematu połączonej bazy danych, w tym tabele i relacje. |
list_schemas |
Wyświetla listę wszystkich schematów w bazie danych dla połączonego serwera MSSQL. |
list_tables |
Wyświetla listę wszystkich tabel w bazie danych dla połączonego serwera MSSQL. |
list_views |
Wyświetla listę wszystkich widoków w bazie danych dla połączonego serwera MSSQL. |
list_functions |
Wyświetla listę wszystkich funkcji w bazie danych dla połączonego serwera MSSQL. |
Examples
Użyj poniższych fraz, aby wchodzić w interakcje z rozwiązaniem 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?
Wykonywanie zapytania
| Nazwa narzędzia | Description |
|---|---|
run_query |
Uruchamia zapytanie SQL względem połączonej bazy danych. |
Examples
Użyj poniższych fraz, aby wchodzić w interakcje z rozwiązaniem 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
Jak narzędzia są zarządzane w trybie agenta
Narzędzie GitHub Copilot może używać narzędzi specyficznych dla programu MSSQL i innych narzędzi współtworzynych przez rozszerzenie podczas przetwarzania żądania. Te narzędzia można wyświetlić w interfejsie Tryb agenta w menu Narzędzia , gdzie można również włączyć lub wyłączyć określone narzędzia.
Podczas wywoływania narzędzia, zwłaszcza jeśli współdziała z maszyną lub bazą danych, narzędzie GitHub Copilot prosi o potwierdzenie w celu zapewnienia bezpiecznego wykonania. Możesz zezwolić narzędziu tylko na bieżącą sesję, obszar roboczy lub trwale.
Aby uzyskać więcej informacji na temat widoczności i zatwierdzeń narzędzi, zobacz Zarządzanie zatwierdzeniami narzędzi.
Procedura potwierdzania trybu agenta
Po wybraniu narzędzia w usłudze GitHub Copilot zostanie wyświetlone okno dialogowe potwierdzenia zawierające szczegółowe informacje o żądanej akcji. Należy jawnie zatwierdzić żądanie przed wykonaniem dowolnych poleceń, które wchodzą w interakcję z maszyną lub bazą danych:
- Zezwól w tej sesji
- Zezwalaj na tym obszarze roboczym
- Zawsze zezwalaj
Ten krok potwierdzenia pomaga zapewnić bezpieczne, zamierzone interakcje ze środowiskiem projektowym.
Note
Aby uzyskać więcej informacji na temat sposobu działania potwierdzenia we wszystkich narzędziach w trybie agenta, zobacz dokumentację programu Visual Studio Code dotyczącą zatwierdzeń narzędzi.
Katalog monitów trybu agenta
Użyj tych monitów języka naturalnego, aby wywołać narzędzia rozszerzenia MSSQL za pośrednictwem trybu agenta. Dla każdej kategorii podano odsyłacze do równoważnej komendy z ukośnikiem lub monitu trybu pytań.
Zarządzanie połączeniami
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.
Równoważne polecenia z ukośnikiem: /connect, /listServers, /changeDatabase, /disconnect.
Eksploracja schematu
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?
Monity dotyczące odpowiedników: zobacz Czat z @mssql uczestnikiem.
Wykonywanie zapytania
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.
Przepływy pracy wieloetapowe
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.
Delegowane zmiany schematu
Note
Zmiany schematu warto najpierw uruchomić w trybie planowania. Zaplanuj zmiany, przejrzyj je, a następnie przekaż plan trybowi agenta do wykonania.
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.
Treści powiązane
- Jak działa GitHub Copilot z rozszerzeniem MSSQL
-
Szybki start: rozmowa z uczestnikiem
@mssql(tryb pytania) - Szybki start: używanie trybu planu do projektowania bazy danych opartej na specyfikacji
- Szybki start: korzystanie z poleceń ukośnikowych GitHub Copilot
- Szybki start: dostosowywanie GitHub Copilot do konwencji języka T-SQL przy użyciu niestandardowych instrukcji
- Szybki start: generowanie kodu
- Szybki start: wizualne projektowanie schematów za pomocą osadzonych scenariuszy GitHub Copilot
- Szybki start: korzystanie z konstruktora zapytań inteligentnych
- Szybki start: Asystent optymalizatora zapytań
- Integracje mapowania obiektowo-relacyjnego z GitHub Copilot
- Ograniczenia i znane problemy