Guida introduttiva: Chatta con il @mssql partecipante (modalità domanda)

Il @mssql partecipante alla chat porta assistenza SQL basata sullo schema nelle chat di GitHub Copilot Chat. In modalità ask è disponibile una conversazione in linguaggio naturale con @mssql il database connesso: esplorare tabelle e relazioni, scrivere query Transact-SQL (T-SQL), generare migrazioni e ottenere spiegazioni degli oggetti esistenti. La modalità Ask è di sola lettura. Risponde alle domande e propone codice, ma non modifica mai i file.

Tip

Usare la modalità ask quando è necessaria una risposta o una query con un'unica operazione. Usare la modalità agente per flussi di lavoro in più passaggi che comportano l'esecuzione degli strumenti. Usare la modalità di modifica quando sono necessarie modifiche mirate a file specifici.

Messaggi chiave:

  • @mssql in modalità ask è consapevole dello schema quando si dispone di una connessione al database attiva.
  • Il partecipante della chat legge i metadati dello schema (tabelle, colonne, relazioni) e lo include in ogni richiesta.
  • La modalità Ask è conversazionale e senza stato. Ogni messaggio è una nuova domanda.
  • Le istruzioni personalizzate si applicano a ogni risposta in modalità richiesta.

Prerequisiti

Assicurarsi di essere connessi a un database e di aprire una finestra dell'editor attivo con l'estensione MSSQL. Quando ci si connette, il partecipante della @mssql chat comprende il contesto dell'ambiente di database e può fornire suggerimenti accurati e in grado di riconoscere il contesto. Se non ci si connette a un database, il partecipante alla chat non ha lo schema o il contesto dei dati per fornire risposte significative.

Gli esempi seguenti usano il AdventureWorksLT2022 database di esempio, che è possibile scaricare dalla home page degli esempi di Microsoft SQL Server e dei progetti della community .

Per ottenere risultati ottimali, modificare i nomi di tabella e schema in modo che corrispondano al proprio ambiente.

Assicurarsi che la chat includa il @mssql prefisso. Ad esempio, digitare @mssql seguito dalla domanda o dal prompt. Questo prefisso garantisce che il partecipante della chat comprenda che si sta chiedendo assistenza correlata a SQL.

Chat con il @mssql partecipante

Usare @mssql in GitHub Copilot Chat per offrire assistenza intelligente e compatibile con il contesto nel flusso di lavoro di sviluppo SQL. Sia che si stia scrivendo query, esplorando lo schema o generando script di migrazione, GitHub Copilot adatta le risposte al database connesso.

Ecco alcuni casi d'uso comuni ed esempi.

Elencare o esplorare oggetti nello schema del database

Porre domande su tabelle, colonne, schemi e metadati oggetto.

Raggruppare gli oggetti per tipo

Show all objects in the `SalesLT` schema of my current database, grouped by type.

Elencare colonne e proprietà di una tabella

List the columns, data types, and nullability of the `SalesLT.Customer` table.

Contare tabelle, viste e procedure in un database

How many tables, views, and procedures are defined in my current database?

Scrivere query

Ricevi aiuto nella scrittura di query SQL comuni per filtrare, aggregare e creare join.

Restituire un elenco di clienti in base agli ordini recenti

Write a T-SQL query to list all customers from `SalesLT.Customer` who placed
an order in the last 30 days based on the latest order date.

Calcolare il totale medio degli ordini per cliente

Generate a query that calculates the average order total per customer
from the `SalesLT.SalesOrderHeader` table, sorted descending.

Aggiornare una query usando un'altra colonna

Update the previous query to include the full name of each customer
from the `SalesLT.Customer` table.

Spiegare relazioni o concetti

Richiedere spiegazioni semplificate delle relazioni tra schemi, logica di query o funzionalità T-SQL.

Descrivere le relazioni di chiave esterna tra le tabelle

Describe the foreign key relationship between `SalesLT.SalesOrderHeader`
and `SalesLT.Customer` tables in my current database.

Spiegare le relazioni e le chiavi delle tabelle coinvolte

I'm a developer new to T-SQL. Explain how `SalesLT.SalesOrderHeader` is
related to `SalesLT.Customer`, and what keys are involved.

Spiegare i tipi di dati vettoriali e le opzioni di utilizzo

Explain how vector data types work in SQL Server and when to use them
for artificial intelligence (AI) scenarios.

Generare codice di migrazione o integrazione

Richiedere assistenza per la generazione di script di migrazione ORM (Object-Relational Mapping) o SQL.

Aggiungere un vincolo di chiave esterna a una tabella

Create a T-SQL script to add a foreign key constraint on
`SalesLT.SalesOrderDetail.ProductID` referencing `SalesLT.Product.ProductID`.

Generare uno script di migrazione per aggiungere una chiave esterna

Generate a Sequelize migration to add a foreign key from
`SalesLT.SalesOrderDetail.ProductID` to `SalesLT.Product.ProductID`,
assuming both columns exist.

Per esempi di mapping relazionale a oggetti (ORM) in Entity Framework, Prisma, SQLAlchemy e altri framework, vedere Integrazioni di mapping relazionali a oggetti con GitHub Copilot.

Modalità Ask vs. modalità agente: quale usare

Scenario Modalità migliore
Che cosa fa questa procedura memorizzata? Modalità Richiesta
"Scrivere una query per trovare ordini superiori a $ 500" Modalità Richiesta
"Connettersi al profilo LocalDev e elencare i database" Modalità agente
"Aggiungere colonne di controllo a ogni tabella nello schema Sales" Modalità agente
"Progettare un modello di dati completo dal prd" Modalità piano

Condividere la propria esperienza

Per ottimizzare e migliorare GitHub Copilot per l'estensione MSSQL, usare il modello di problema GitHub seguente per inviare commenti e suggerimenti: Commenti e suggerimenti su GitHub Copilot

Quando si inviano commenti e suggerimenti, è consigliabile includere:

  • Scenari testati: segnalare le aree su cui ci si è concentrati, ad esempio la creazione dello schema, la generazione di query, la sicurezza, la localizzazione.

  • Cosa ha funzionato bene: descrivere tutte le esperienze che si sono sentite fluide, utili o superate le aspettative.

  • Problemi o bug: includere eventuali problemi, incoerenze o comportamenti confusi. Screenshot o registrazioni dello schermo sono particolarmente utili.

  • Suggerimenti per il miglioramento: condividere idee per migliorare l'usabilità, espandere la copertura o migliorare le risposte di GitHub Copilot.