Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O modo Agente permite ao GitHub Copilot orquestrar as ferramentas contribuídas pela extensão MSSQL para Visual Studio Code. Quando a extensão está instalada e ativa, o GitHub Copilot pode listar ligações ao Microsoft SQL Server, ligar-se a um servidor e base de dados, recuperar metadados do esquema e executar consultas, tudo a partir de prompts em linguagem natural, com a sua aprovação em cada ação.
Todas as ações utilizam o mesmo contexto de ligação e credenciais da extensão MSSQL. O modo agente não introduz outra autenticação nem alterações de permissões.
Tip
Use o modo agente para fluxos de trabalho em vários passos, exploração em escala e alterações delegadas. Usa o modo pergunta quando precisares de uma resposta única ou de uma pergunta one-shot. Utilize o modo de plano quando precisar de refletir sobre uma conceção antes de escrever linguagem de definição de dados (DDL) em Transact-SQL (T-SQL).
Principais conclusões
- O modo agente capta automaticamente as ferramentas de extensão MSSQL. Não
@mssqlé necessário mencionar. - Cada chamada de ferramenta requer a sua aprovação antes da execução.
- O modo de agente é ciente do esquema através das ferramentas que utiliza: cada chamada a uma ferramenta devolve dados reais da sua base de dados ligada.
- Para contexto arquitetónico em todas as superfícies, veja Como o GitHub Copilot funciona com a extensão MSSQL.
Quando usar o modo agente
O modo agente é o melhor para:
- Fluxos de trabalho em vários passos. Liga-te ao LocalDev, muda para AdventureWorks e depois mostra-me todas as tabelas que tenham uma chave estrangeira para Customer.
- Exploração em escala. "Encontre quaisquer procedimentos armazenados que refiram ao SalesOrderHeader e resuma o que cada um faz."
- Alterações delegadas. "Adicionar colunas de auditoria a cada tabela no esquema de Vendas e regenerar os procedimentos armazenados relacionados."
Use modo de pergunta quando uma única pergunta ou uma consulta pontual satisfaz a sua necessidade. Usa comandos de corte quando já sabes qual ação queres. Usa o modo plano quando quiseres um plano escrito antes de qualquer alteração.
Para detalhes sobre como o modo agente seleciona e executa ferramentas, consulte a documentação do Visual Studio Code sobre o modo agente.
O que é o modo agente?
O Modo Agente permite ao GitHub Copilot realizar ações relacionadas com SQL usando a extensão MSSQL, sendo necessária a confirmação do utilizador antes da execução.
Pode invocar estas ações usando variáveis de chat como #mssql_connect, ou emitindo pedidos equivalentes em linguagem natural, por exemplo:
Connect to my Library database using my LocalDev profile
Referência da ferramenta MSSQL Modo de Agente
Esta seção fornece uma referência detalhada para as ferramentas específicas do SQL disponíveis no GitHub Copilot Agent Mode. A extensão MSSQL contribui com essas ferramentas, permitindo que o GitHub Copilot execute ações por meio de variáveis de chat ou prompts de linguagem natural. Todas as ferramentas requerem confirmação do usuário antes da execução.
Tip
Você também pode usar variáveis de bate-papo, como #mssql_connect invocar essas ferramentas diretamente, ou escrever prompts em linguagem natural, como:
Connect to my development database
O GitHub Copilot lida com a seleção de ferramentas automaticamente.
Gestão de ligações
| Nome da ferramenta | Description |
|---|---|
connect |
Liga-se a uma base de dados usando um perfil de ligação guardado ou um servidor e base de dados especificados. |
disconnect |
Termina a sessão de ligação ativa atual. |
change_database |
Altera o banco de dados para uma sessão de conexão existente. |
get_connection_details |
Obtém detalhes de conexão para uma conexão MSSQL específica. |
list_servers |
Lista todos os perfis de conexão do SQL Server salvos em seu ambiente. |
list_databases |
Lista todos os bancos de dados disponíveis para um servidor MSSQL conectado. |
Examples
Use as seguintes frases para interagir com o 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
Como funciona a lógica de conexão
O GitHub Copilot Agent Mode suporta maneiras flexíveis de se conectar ao seu banco de dados SQL, seja fazendo referência a perfis salvos ou especificando um servidor e um banco de dados diretamente. Eis como funciona a lógica da ligação.
Quando se liga a um perfil guardado:
- Conecta-se consultando o nome de um perfil de ligação guardado.
- O GitHub Copilot usa a
mssql_list_serversferramenta para verificar se o perfil existe. - A ferramenta
mssql_connectentão utiliza os dados guardados deprofileIde os seus parâmetros para estabelecer a conexão.
Quando se liga especificando um servidor e uma base de dados:
Se um perfil salvo corresponder ao servidor e ao banco de dados especificados:
- O GitHub Copilot usa
mssql_list_serverspara encontrar a correspondência. - Em seguida, liga
mssql_connectusando o perfil completo.
- O GitHub Copilot usa
Se um perfil guardado corresponder apenas a um servidor:
- O GitHub Copilot encontra o perfil de servidor correspondente.
- Ele tenta se conectar substituindo o banco de dados solicitado pelo usuário nesse perfil.
- Se a conexão falhar, um erro será mostrado.
Se nenhum perfil corresponder ao servidor especificado:
- O Copilot do GitHub relata um erro.
Este sistema de correspondência flexível permite ao GitHub Copilot lidar com uma variedade de cenários de ligação. Minimiza o esforço do utilizador, garantindo ações seguras e confirmáveis.
Exploração de esquemas
| Nome da ferramenta | Description |
|---|---|
show_schema |
Exibe um diagrama de alto nível do esquema do banco de dados conectado, incluindo tabelas e relações. |
list_schemas |
Lista todos os esquemas em um banco de dados para um servidor MSSQL conectado. |
list_tables |
Lista todas as tabelas em um banco de dados para um servidor MSSQL conectado. |
list_views |
Lista todas as vistas numa base de dados de um servidor MSSQL conectado. |
list_functions |
Lista todas as funções em um banco de dados para um servidor MSSQL conectado. |
Examples
Use as seguintes frases para interagir com o 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?
Execução da consulta
| Nome da ferramenta | Description |
|---|---|
run_query |
Executa uma consulta SQL na base de dados conectada. |
Examples
Use as seguintes frases para interagir com o 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
Como as ferramentas são gerenciadas no Modo de Agente
O GitHub Copilot pode usar ferramentas específicas do MSSQL e outras ferramentas contribuídas por extensões enquanto processa o seu pedido. Podes ver estas ferramentas na interface do Modo Agente, no menu Ferramentas , onde também podes ativar ou desativar ferramentas específicas.
Quando invocas uma ferramenta, especialmente se esta interagir com a tua máquina ou base de dados, o GitHub Copilot pede confirmação para garantir uma execução segura. Podes permitir a ferramenta apenas para a sessão atual, o espaço de trabalho ou permanentemente.
Para mais informações sobre visibilidade e aprovações de ferramentas, consulte Gerenciar aprovações de ferramentas.
Fluxo de trabalho de confirmação do Modo de Agente
Quando o GitHub Copilot seleciona uma ferramenta, ele apresenta um diálogo de confirmação que mostra detalhes sobre a ação solicitada. Você deve aprovar explicitamente a solicitação antes que ela possa executar quaisquer comandos que interajam com sua máquina ou banco de dados:
- Permitir nesta sessão
- Permitir neste espaço de trabalho
- Permitir sempre
Esta etapa de confirmação ajuda a garantir interações seguras e intencionais com seu ambiente de desenvolvimento.
Note
Para obter mais informações sobre como a confirmação funciona em todas as ferramentas no Modo de Agente, consulte a documentação do Visual Studio Code sobre aprovações de ferramentas.
Catálogo de prompts em modo agente
Use estes prompts em linguagem natural para invocar ferramentas de extensão MSSQL através do modo agente. Para cada categoria, é feita uma referência cruzada a um comando de barra equivalente ou a um prompt do modo Perguntar.
Gestão de ligações
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.
Comandos equivalentes com barra: /connect, /listServers, /changeDatabase, /disconnect.
Exploração de esquemas
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?
Os equivalentes pedem instruções: consulte Conversar com o @mssql participante.
Execução da consulta
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.
Fluxos de trabalho em várias etapas
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.
Alterações delegadas ao esquema
Note
As alterações ao esquema são adequadas para serem testadas primeiro em modo de planeamento. Planeia as alterações, revê-as e depois entrega o plano para o modo agente para execução.
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.
Conteúdo relacionado
- Como o GitHub Copilot funciona com a extensão MSSQL
-
Início Rápido: Conversar com o
@mssqlparticipante (modo perguntar) - Início rápido: Usar o modo plano para design de bases de dados orientado por especificações
- Início rápido: Usar comandos de barra do GitHub Copilot
- Início rápido: Use instruções personalizadas para alinhar o GitHub Copilot com as suas convenções de T-SQL
- Quickstart: Gerar código
- Quickstart: Desenhar esquemas visualmente com cenários incorporados no GitHub Copilot
- Início rápido: Use o construtor inteligente de consultas
- Quickstart: Assistente otimizador de consultas
- Integrações de mapeamento objeto-relacional com o GitHub Copilot
- Limitações e problemas conhecidos