Delen via


Database-instructies gebruiken met GitHub Copilot in SQL Server Management Studio (preview)

Database-instructies bieden GitHub Copilot in SQL Server Management Studio (SSMS) database-specifieke context en richtlijnen aan die rechtstreeks in de database aanwezig zijn. Database-eigenaren en -teams kunnen ze gebruiken om bedrijfsregels, gegevensconventies en gebruikspatronen te beschrijven. Met database-instructies kan Copilot nauwkeurigere, zinvolle en consistente antwoorden genereren wanneer gebruikers vragen stellen of query's schrijven. Database-instructies fungeren als levende documentatie die met de database reist en automatisch wordt toegepast tijdens Copilot-interacties.

In dit artikel leert u hoe u database-instructies gebruikt, zodat gebruikers en Copilot sneller de juiste objecten en informatie kunnen vinden. Deze functie helpt de tijd te verminderen die nodig is om database, bedrijf en interne kennis aan Copilot te bieden.

Zie De GitHub Copilot Chat-ervaring gebruiken in SQL Server Management Studio (preview) voor verwante informatie over GitHub Copilot Chat.

Hoe database-instructies werken

Database-instructies worden opgeslagen als metagegevens in de database, waardoor Copilot deze automatisch kan detecteren en toepassen tijdens runtime. Wanneer een gebruiker communiceert met GitHub Copilot voor een database, zoals het stellen van een vraag in natuurlijke taal of het genereren van T-SQL, bevat Copilot deze instructies als extra context. Deze context zorgt ervoor dat antwoorden bedrijfsdefinities, canonieke tabellen en domeinspecifieke regels weerspiegelen, in plaats van alleen te vertrouwen op schemanamen of schattingen. Instructies blijven behouden in sessies en zijn beschikbaar voor elke gebruiker die toegang heeft tot dezelfde database.

Vereiste voorwaarden

Database-instructies voor GitHub Copilot in SSMS zijn afhankelijk van informatie in uitgebreide eigenschappen.

  1. Installeer SSMS 22.3 of een latere versie met de AI Assistance-workload.

  2. Meld u aan bij uw GitHub-account met Copilot-toegang.

Gebruik GitHub Copilot gratis. Registreer en gebruik AI om sneller en efficiënter te coden.

GitHub Copilot gebruiken om database-instructies toe te voegen of weer te geven

Deze stappen laten zien hoe u database-instructies maakt en gebruikt met GitHub Copilot.

Copilot een vraag stellen om ontbrekende context weer te geven

Begin door Copilot een vraag te stellen over uw gegevens in natuurlijke taal. Als het bedrijf bijvoorbeeld What was revenue for the last quarter of the year? verschillende begindatums heeft voor fiscaal jaar en kalenderjaar, of als omzet een berekening met meerdere tabellen vereist, zijn de relevante tabellen of kolommen goede kandidaten voor een database-instructie.

De bedrijfsregel definiëren als een database-instructie

Beschrijf in Copilot-chat de regel of verduidelijking die u wilt onthouden door Copilot. Bijvoorbeeld Add an instruction for the Finance.CompanyRevenue table to state that revenue is defined as SUM(NetAmount) excluding refunds recorded in Finance.Refunds.

De instructie opslaan in de database

Zodra Copilot de T-SQL-syntaxis genereert om de instructie toe te voegen als een uitgebreide eigenschap, moet u deze informatie behouden als database-instructie. In de modus Vraag kan GitHub Copilot geen wijzigingsquery's uitvoeren op de 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';

Nadat u de instructie aan de database hebt toegevoegd, past Copilot de informatie automatisch toe op toekomstige interacties.

Copilot gebruiken volgens de instructie

Stel Copilot dezelfde of een gerelateerde vraag opnieuw. What was revenue for the last quarter of the year? Copilot gebruikt nu de opgeslagen instructie om resultaten te genereren die zijn afgestemd op uw bedrijfsdefinitie van omzet, zonder dat u de regel hoeft op te slaan. U kunt Copilot ook vragen om Copilot's begrip van de instructie Show me the query used to get this information. te bevestigen.

Meer voorbeelden

Er zijn oneindige scenario's waarin bedrijfsregels moeten worden toegepast voor een databaseobject, inclusief tabellen, kolommen en opgeslagen procedures.

  • 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

Wanneer u database-instructies gebruikt met Copilot, kunt u ook vragen stellen over instructies die momenteel bestaan.

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

GitHub Copilot gebruiken om een databasegrondwet te maken

GitHub Copilot in SSMS ondersteunt ook een enkelvoudige grondwet voor uw database, waarmee de hoogste prioriteitsinstructie voor de database wordt ingesteld. De grondwet kan aanbevelingen, coderingsrichtlijnen, bewaarbeleid en meer omvatten.

Opmerking

Het implementeren van een databasegrondwet is van toepassing op GitHub Copilot-gesprekken voor elke gebruiker die Gebruikmaakt van GitHub Copilot in SSMS. De aanbevelingen en richtlijnen zijn alleen van toepassing op GitHub Copilot-gesprekken.

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.';

Requirements

Database-instructies worden momenteel alleen ondersteund als uitgebreide eigenschappen. Ze volgen de AGENTS.md-indeling om de context te bieden die wordt gebruikt door GitHub Copilot. De naam van de uitgebreide eigenschap van het object moet zijn AGENTS.md. Er kan slechts één eigenschap met de naam AGENTS.md bestaan voor een object. Als een instructie onjuist is, kunt u deze bijwerken met behulp van sp_updateextendedpropertyof verwijderen met behulp van sp_dropextendedproperty. Er is geen andere configuratie vereist om database-instructies te laten werken.