Condividi tramite


Usare le istruzioni del database con GitHub Copilot in SQL Server Management Studio (anteprima)

Le istruzioni del database forniscono a GitHub Copilot in SQL Server Management Studio (SSMS) un contesto specifico del database e linee guida che si trovano all'interno del database. I proprietari e i team di database possono usarli per descrivere regole business, convenzioni di dati e modelli di utilizzo. Con le istruzioni del database, Copilot può generare risposte più accurate, significative e coerenti quando gli utenti fanno domande o scrivono query. Le istruzioni del database fungono da documentazione vivente che viaggia con il database e vengono applicate automaticamente durante le interazioni con Copilot.

In questo articolo si apprenderà come usare le istruzioni del database, che consentono agli utenti e ai Copilot di trovare più velocemente gli oggetti e le informazioni corretti. Questa funzionalità consente di ridurre il tempo impiegato per fornire informazioni interne, aziendali e di database a Copilot.

Per informazioni correlate relative a GitHub Copilot Chat, vedere Usare l'esperienza di chat di GitHub Copilot in SQL Server Management Studio (anteprima).

Funzionamento delle istruzioni del database

Le istruzioni del database vengono archiviate come metadati nel database, che consente a Copilot di individuarli e applicarli automaticamente in fase di esecuzione. Quando un utente interagisce con GitHub Copilot per un database, ad esempio porre una domanda in linguaggio naturale o generare T-SQL, Copilot incorpora queste istruzioni come contesto aggiuntivo. Questo contesto garantisce che le risposte riflettano definizioni aziendali, tabelle canoniche e regole specifiche del dominio, anziché basarsi solo su nomi di schema o ipotesi. Le istruzioni vengono mantenute tra le sessioni e sono disponibili per qualsiasi utente che accede allo stesso database.

Prerequisiti

Le istruzioni del database per GitHub Copilot in SSMS si basano sulle informazioni nelle proprietà estese.

  1. Installare SSMS 22.3 o una versione successiva con il carico di lavoro Assistenza per Intelligenza Artificiale.

  2. Accedi al tuo account GitHub con accesso Copilot.

Usare Gratuitamente GitHub Copilot. Iscriversi e usare l'intelligenza artificiale per scrivere codice in modo più rapido ed efficiente.

Usare GitHub Copilot per aggiungere o visualizzare le istruzioni del database

Questi passaggi illustrano come creare e usare le istruzioni del database usando GitHub Copilot.

Porre una domanda a Copilot per rivelare il contesto mancante

Per iniziare, è possibile porre a Copilot una domanda sui dati in linguaggio naturale. Ad esempio, What was revenue for the last quarter of the year? se l'azienda ha date di inizio diverse per l'anno fiscale e l'anno di calendario o se i ricavi richiedono un calcolo che coinvolge più tabelle, le tabelle o le colonne pertinenti sono candidati validi per un'istruzione di database.

Definire la regola aziendale come istruzione del database

Nella chat di Copilot descrivere la regola o il chiarimento che si vuole ricordare da Copilot. Ad esempio, Add an instruction for the Finance.CompanyRevenue table to state that revenue is defined as SUM(NetAmount) excluding refunds recorded in Finance.Refunds.

Salvare l'istruzione nel database

Dopo che Copilot genera la sintassi T-SQL per aggiungere l'istruzione come proprietà estesa, è necessario rendere persistenti queste informazioni come istruzioni del database. In modalità Ask, GitHub Copilot non può eseguire query di modifica sul database.

-- Created by GitHub Copilot in SSMS - review carefully before executing
EXECUTE sp_addextendedproperty
    @name = N'AGENTS.md',
    @value = N'Revenue is defined as SUM(NetAmount) excluding refunds recorded in Finance.Refunds. When calculating actual revenue, refunds must be subtracted from the Revenue column values.',
    @level0type = N'SCHEMA',
    @level0name = N'Finance',
    @level1type = N'TABLE',
    @level1name = N'CompanyRevenue';

Dopo aver aggiunto l'istruzione al database, Copilot applica automaticamente le informazioni alle interazioni future.

Usare Copilot con l'istruzione applicata

Porre nuovamente a Copilot la stessa domanda o una domanda correlata, What was revenue for the last quarter of the year? Copilot ora usa l'istruzione salvata per generare risultati allineati alla definizione aziendale dei ricavi, senza richiedere di riformulare la regola. È anche possibile chiedere a Copilot Show me the query used to get this information. di confermare la comprensione dell'istruzione da parte di Copilot.

Altri esempi

Esistono scenari infiniti in cui è necessario applicare regole business per un oggetto di database, incluse tabelle, colonne e stored procedure.

  • The dbo.Apts table stores information about patient appointments
  • The Status column in dbo.Apts encodes status as: 1 = Scheduled, 2 = Completed, 5 = Confirmed, 99 = Cancelled
  • The DtCrtd column in dbo.Apts lists the date and time the appointment was created

Quando si usano le istruzioni del database con Copilot, è anche possibile chiedere istruzioni esistenti.

  • Show me the database instructions for this database
  • Does this database have a constitution set?

Usare GitHub Copilot per creare una costituzione del database

GitHub Copilot in SSMS supporta anche una costituzione singolare per il database, che imposta l'istruzione di precedenza più alta per il database. La costituzione può includere raccomandazioni, linee guida per la codifica, criteri di conservazione e altro ancora.

Annotazioni

L'implementazione di una costituzione del database si applica alle conversazioni di GitHub Copilot per ogni utente che usa GitHub Copilot in SSMS. Le raccomandazioni e le linee guida si applicano solo alle conversazioni di GitHub Copilot.

EXECUTE sp_addextendedproperty
    @name = N'CONSTITUTION.md',
    @value = N'Any T-SQL in this database must comply with the organizational standards and guidelines outlined in this constitution document.
 Queries that use SELECT * should not be used.';

Requisiti

Le istruzioni del database sono attualmente supportate solo come proprietà estese. Seguono il formato AGENTS.md per fornire il contesto usato da GitHub Copilot. Il nome della proprietà estesa dell'oggetto deve essere AGENTS.md. Per un oggetto può esistere una sola proprietà denominata AGENTS.md . Se un'istruzione non è corretta, è possibile aggiornarla usando sp_updateextendedpropertyo eliminarla usando sp_dropextendedproperty. Non sono necessarie altre configurazioni per il funzionamento delle istruzioni del database.