Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El modo Agente de GitHub Copilot (vista previa) en SQL Server Management Studio (SSMS) permite especificar un objetivo general en lenguaje natural y hacer que Copilot lo lleve a cabo ejecutando consultas, leyendo archivos e iterando sobre sus propios resultados hasta completar la tarea o hasta que necesite su intervención.
Nota:
El modo Agente de GitHub Copilot en SQL Server Management Studio (SSMS) se encuentra actualmente en versión preliminar.
A diferencia del modo Ask, que se detiene después de una única respuesta, el modo agente continúa ejecutando pasos, invocando herramientas y refinando su enfoque hasta que alcance su objetivo. Todas las consultas y comandos se ejecutan en el contexto del inicio de sesión y los permisos del usuario, a menos que se especifique un usuario de base de datos personalizado o un inicio de sesión de SQL en el frente de la base de datos CONSTITUTION.md. Para obtener más información, vea Execution context for GitHub Copilot in SQL Server Management Studio.
Importante
El modo de agente puede ejecutar consultas y realizar cambios en la base de datos en su nombre. Copilot solicita la aprobación antes de ejecutar cada consulta o comando. Revise detenidamente las acciones propuestas antes de aprobarlas. Aplique el control de acceso mediante los permisos de privilegios mínimos de SQL Server. La frontera de seguridad es la aplicación de permisos de SQL Server, no el sistema de aprobación de Copilot.
Modo de consulta frente a modo Agente
Use la tabla siguiente para decidir qué modo se ajusta a la tarea:
| Modo de pregunta | Modo de agente | |
|---|---|---|
| Cómo funciona | Respuesta única por solicitud; se aplica el código manualmente | Ejecución en varios pasos; itera hasta que se alcanza el objetivo |
| Ejecución | Solo consultas de lectura | Las consultas y los comandos se ejecutan con tu aprobación |
| Cambios de esquema | Genera T-SQL para que pueda ejecutarlo. | Puede ejecutar cambios en el esquema si los aprueba y su cuenta tiene permiso. |
| Mejor para | Exploración de ideas, revisión del código generado antes de aplicar | Tareas complejas de varios pasos, investigación, análisis y desarrollo iterativo |
| Interrupción | Respuesta única, puede cancelar en cualquier momento. | Puede cancelar en cualquier momento. |
Prerequisites
- SSMS 22.7 o una versión posterior con la carga de trabajo de Asistencia de IA.
- Una cuenta de GitHub con acceso Copilot. Como alternativa, use GitHub Copilot de forma gratuita en SQL Server Management Studio.
Uso del modo agente
En el modo agente, Copilot funciona de forma autónoma y determina el contexto pertinente para el mensaje. El modo de agente para GitHub Copilot en SSMS usa un servidor MCP local, sql-tools para su integración y se incluye con un conjunto predefinido de herramientas.
- En SSMS, seleccione View>GitHub Copilot Chat para abrir la ventana de chat.
- En la parte inferior de la ventana del chat, despliegue la lista desplegable del modo y seleccione Agent.
- En la parte inferior derecha de la ventana de chat, seleccione el icono Herramientas para ver las herramientas disponibles.
- Expanda
sql-toolspara ver las herramientas predefinidas. Mantenga el puntero sobre el nombre de la herramienta para obtener más información sobre lo que hace. Si deselecciona todas las herramientas, el modo agente no funciona según lo previsto. - No se puede deshabilitar la
SSMSlista de herramientas. - Escriba el mensaje en el que se describe el objetivo de alto nivel e incluya el nombre de la base de datos o el servidor con el que está trabajando. El modo de agente no hereda el contexto del editor de consultas activo.
Importante
Para obtener los mejores resultados, incluya la base de datos o el servidor en su prompt. Esta inclusión reduce la ambigüedad y el número de llamadas a herramientas. Si no incluye información de conexión, Copilot lee la lista de conexiones para identificar una conexión que se va a usar o solicita una aclaración sobre qué base de datos o servidor usar.
Para enviar el mensaje, seleccione Enviar o presione Entrar.
Ejemplos de mensajes para empezar:
- 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 jobsEl modo de agente puede invocar varias herramientas para completar la solicitud. Por ejemplo, al leer información de esquema, generar Transact-SQL y analizar resultados. La herramienta activa aparece en el chat a medida que se ejecuta cada paso.
Cuando Copilot esté listo para ejecutar una consulta o comando, se pausa y se le pide su aprobación. Revise la acción propuesta y, a continuación, seleccione Permitir para continuar o Descartar para omitir ese paso.
Puede configurar el ámbito de aprobación mediante la lista desplegable Permitir :
Option Efecto Permitir una vez Aprueba esta única invocación Permitir esta sesión Aprueba esta herramienta para el resto de la sesión de chat actual Permitir siempre Aprueba esta herramienta para todas las invocaciones posteriores. Para restablecer la configuración de aprobación de herramientas, vaya a Tools>Options>GitHub>Copilot>Tools.
Copilot supervisa el resultado de cada paso. Si una consulta devuelve un error o un resultado que no cumple el objetivo, Copilot revisa su enfoque e intenta de nuevo automáticamente.
Una vez completada la tarea, Copilot resume lo que hizo. Revise los cambios aplicados a la base de datos o al editor de consultas.
Descripción de las herramientas del modo agente
En el modo agente, Copilot puede usar las siguientes herramientas para completar la solicitud:
- Herramientas integradas
- Herramientas del Protocolo de contexto de modelo (MCP)
- Aptitudes del agente que proporcionan instrucciones específicas de la tarea
Nota:
El modo de agente solo funciona con bases de datos y objetos a los que puede acceder o conectarse, o mediante credenciales en el archivo de base de datos CONSTITUTION.md . No tiene permisos elevados más allá de los que ya le otorgan sus credenciales.
Para ver y administrar las herramientas disponibles en modo agente, seleccione el icono Herramientas en la ventana de chat. En función del resultado de una herramienta, Copilot podría invocar otras herramientas para realizar la solicitud general. Por ejemplo, si una edición de código T-SQL produce un error de sintaxis, Copilot podría explorar otro enfoque y sugerir un cambio diferente.
También puede ampliar el modo agente con servidores MCP para conectar Copilot a herramientas y servicios externos. Las herramientas disponibles para un servidor MCP no están habilitadas automáticamente. Sus casillas están desactivadas de forma predeterminada y debe seleccionarlas para activar las herramientas.
Administración de aprobaciones de herramientas
Copilot solicita confirmación antes de ejecutar cualquier consulta o invocar una herramienta externa. Este paso le protege de los cambios no deseados. De forma predeterminada, cada acción requiere una aprobación explícita.
Al aprobar una herramienta, use la lista desplegable Permitir para establecer la persistencia:
- Permitir esta sesión: no se solicita más esa herramienta en la sesión de chat actual.
- Permitir siempre: se mantiene entre sesiones para esa herramienta
Para revisar y restablecer aprobaciones, vaya a Tools>Options>GitHub>Copilot>Tools.
Aceptar o descartar modificaciones
Cuando el modo agente aplica cambios a los archivos abiertos, aparece un resumen total de cambios en la ventana de chat. Seleccione cada archivo para revisar los cambios individualmente. Puede conservar o deshacer las modificaciones realizadas en cada sección de código mediante los botones Mantener y Deshacer . Como alternativa, en la lista Total de cambios , seleccione Mantener o Deshacer para todas las modificaciones realizadas desde la última vez que seleccionó Mantener o Deshacer.
Vista de resumen de varios archivos
A partir de SSMS 22.6, cuando Copilot edita varios archivos, puede revisar todos los cambios en una sola vista de resumen en lugar de cambiar entre archivos individualmente.
- Después de que Copilot termine de editarse, seleccione el botón Abrir la vista de resumen de cambios del conjunto de trabajo de Copilot Chat.
- Se abre una sola pestaña que muestra todos los archivos modificados con las diferencias enumeradas.
- Puede aceptar o deshacer los cambios en distintos niveles de granularidad:
- En todos los archivos a la vez, mediante los botones globales Conservar archivos y Deshacer cambios en archivos.
- Para cada archivo, use los botones Mantener todos los cambios y Deshacer todo.
- Para cada cambio individual de código, utiliza Conservar (Ctrl + Y) y Deshacer (Ctrl + N).
- Use los controles de la esquina superior izquierda de la ventana para:
- Contraer todo el contenido del archivo para ver solo los encabezados de archivo para obtener información general rápida
- Navegue entre fragmentos de diferencias mediante los botones siguiente y anterior para saltar rápidamente a través de los cambios. También puede seleccionar cualquier archivo para abrirlo por separado y ver su contexto completo.
Interrumpir una solicitud en modo agente
Para detener una solicitud en modo agente en curso en cualquier momento, seleccione Cancelar en la ventana de chat. La cancelación detiene todas las herramientas en ejecución y las consultas pendientes. Las consultas ya ejecutadas y aprobadas no se revierten automáticamente. Compruebe el estado de la base de datos después de cancelar una operación de varios pasos si es necesario.
Scenarios
En los ejemplos siguientes se muestra cómo el modo de agente controla las tareas comunes de SQL Server. Estos ejemplos son avisos representativos. Adaptarlos a la base de datos y los objetivos.
Creación y prueba de un procedimiento almacenado
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.
El modo agente lee el esquema de la base de datos para identificar las tablas adecuadas, redacta el procedimiento almacenado, ejecuta la CREATE PROCEDURE instrucción y, a continuación, ejecuta una ejecución de prueba con parámetros de ejemplo para validar la salida.
Optimización del rendimiento de las consultas
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.
El modo de agente puede generar un plan de ejecución estimado para la consulta, usar Almacén de consultas para buscar el plan o usar un plan real si lo incluye como referencia. Identifica los antipatrones en la consulta y en los planes de ejecución, incluidos los índices ausentes. Propone cambios específicos en el código y el esquema, incluidas las sentencias CREATE INDEX, y puede implementar los cambios si lo aprueba. Implemente siempre los cambios en un entorno de prueba o desarrollo antes de aplicarlos a una base de datos de producción.
Investigar registros
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.
El modo de agente revisa los archivos ERRORLOG de la instancia, crea una lista de problemas identificados y genera sugerencias para la resolución.
Auditoría y corrección de brechas de permisos
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.
El modo de agente consulta las vistas del catálogo de permisos, identifica carencias, genera sentencias GRANT y las ejecuta si lo apruebas.
Contexto de ejecución y permisos
Todas las consultas y los comandos que ejecuta el modo Agente se ejecutan en el contexto de tu cuenta autenticada, a menos que especifiques un usuario de base de datos o un inicio de sesión SQL para GitHub Copilot en el/la CONSTITUTION.md de la base de datos como agentExecuteAsUser.
- Si tu cuenta no tiene permiso para modificar una tabla, el modo Agente tampoco podrá modificarla, aunque apruebes la consulta propuesta.
- El sistema de aprobación de Copilot no es una frontera de seguridad. Aplique el principio de privilegios mínimos en la base de datos: conceda a los usuarios solo los permisos que necesitan en objetos específicos.
- Para las bases de datos en las que desea especificar un usuario de base de datos o un inicio de sesión de SQL, consulte Contexto deexecución para GitHub Copilot en SQL Server Management Studio.
- Si se designa un usuario de base de datos o un inicio de sesión de SQL para una base de datos y el usuario de GitHub Copilot no tiene permiso IMPERSONATE, no puede usar GitHub Copilot para esa base de datos.
De forma predeterminada, el modo agente está configurado como READ_ONLY. Si el inicio de sesión o la cuenta de agentExecuteAsUser tiene permisos para modificar datos o el esquema de la base de datos, GitHub Copilot no ejecuta esas consultas de forma predeterminada.
Puede cambiar el modo agente a READ_WRITE en el archivo mcp.json. Sin embargo, si sus credenciales de inicio de sesión o la cuenta agentExecuteAsUser no tienen permiso para modificar datos o el esquema de la base de datos, esas consultas fallarán debido a los permisos de seguridad de SQL.
Preguntas más frecuentes
¿El modo agente ejecuta consultas automáticamente sin preguntarme?
N.º El modo de agente solicita la aprobación antes de ejecutar cada consulta o comando. Puede optar por permitir el uso de una herramienta para la sesión actual o siempre, para reducir las solicitudes de aprobación.
¿Qué ocurre si se produce un error en una consulta?
El modo de agente detecta el error, lo analiza y revisa su enfoque automáticamente. Intenta resolver el problema sin requerir más intervención por tu parte. Si no puede resolver el error después de varios intentos, notifica el error y solicita su guía.
¿Cómo es el modo agente diferente del modo Preguntar?
El modo Preguntar devuelve una única respuesta y se detiene. Decide si desea aplicar el código generado. El modo Agente ejecuta varios pasos de forma autónoma, realiza consultas con tu aprobación, supervisa los resultados y repite el proceso de forma iterativa. Use el modo Preguntar cuando desee tener control total sobre cada paso; use el modo agente para tareas complejas de varios pasos en las que solo proporcione instrucciones.
¿Puedo usar el modo de agente con servidores MCP?
Yes. Debe estar en modo agente para usar las herramientas de MCP. Consulte Usar servidores MCP con GitHub Copilot en SQL Server Management Studio.
Como administrador, ¿cómo puedo controlar el modo agente para mi organización?
Los administradores controlan el modo agente a través del panel de GitHub Copilot. Para obtener más información, vea Admin controls for GitHub Copilot in SQL Server Management Studio.
Contenido relacionado
- Uso de la experiencia de chat de Copilot de GitHub en SQL Server Management Studio
- Use las aptitudes del agente con GitHub Copilot en SQL Server Management Studio
- Usar servidores MCP con GitHub Copilot en SQL Server Management Studio
- Contexto deexecución para GitHub Copilot en SQL Server Management Studio
- Solución de problemas de GitHub Copilot en SQL Server Management Studio