Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Databasinstruktioner tillhandahåller GitHub Copilot i SQL Server Management Studio (SSMS) med databasspecifik kontext och vägledning som finns direkt i databasen. Databasägare och team kan använda dem för att beskriva affärsregler, datakonventioner och användningsmönster. Med databasinstruktioner kan Copilot generera mer exakta, meningsfulla och konsekventa svar när användare ställer frågor eller skriver frågor. Databasinstruktioner fungerar som levande dokumentation som skickas med databasen och tillämpas automatiskt under Copilot-interaktioner.
I den här artikeln lär du dig hur du använder databasinstruktioner för att hjälpa användare och Copilot hitta rätt objekt och information snabbare. Instruktioner för databasen minskar tiden som läggs på att ge databas-, verksamhets- och intern kunskap till Copilot.
Relaterad information om GitHub Copilot Chat finns i Använda GitHub Copilot Chat-upplevelsen i SQL Server Management Studio.
Så här fungerar databasinstruktioner
Databasinstruktioner lagras som metadata i databasen, vilket gör att Copilot automatiskt kan identifiera och tillämpa dem vid körning. När en användare interagerar med GitHub Copilot för en databas, till exempel ställa en fråga på naturligt språk eller generera T-SQL, innehåller Copilot dessa instruktioner som extra kontext. Den här kontexten säkerställer att svar återspeglar affärsdefinitioner, kanoniska tabeller och domänspecifika regler i stället för att bara förlita sig på schemanamn eller gissningar. Instruktioner bevaras mellan sessioner och är tillgängliga för alla användare som har åtkomst till samma databas.
Förutsättningar
Databasinstruktioner för GitHub Copilot i SSMS förlitar sig på information i utökade egenskaper.
Installera SSMS 22.3 eller en senare version med AI Assistance-arbetsbelastningen.
Logga in på ditt GitHub-konto med Copilot-åtkomst.
Använd GitHub Copilot kostnadsfritt. Registrera dig och använd AI för att koda snabbare och effektivare.
Använda GitHub Copilot för att lägga till eller visa databasinstruktioner
De här stegen visar hur du skapar och använder databasinstruktioner med GitHub Copilot.
Ställ en fråga till Copilot för att avslöja saknade kontexter
Börja med att ställa en fråga till Copilot om dina data på naturligt språk. Om verksamheten till exempel What was revenue for the last quarter of the year? har olika startdatum för räkenskapsår och kalenderår, eller om intäkter kräver en beräkning som omfattar flera tabeller, är relevanta tabeller eller kolumner bra kandidater för en databasinstruktion.
Definiera affärsregeln som en databasinstruktion
I Copilot-chatten beskriver du regeln eller förtydligandet som du vill att Copilot ska komma ihåg. Till exempel: Add an instruction for the Finance.CompanyRevenue table to state that revenue is defined as SUM(NetAmount) excluding refunds recorded in Finance.Refunds.
Spara instruktionen i databasen
När Copilot genererar T-SQL-syntaxen för att lägga till instruktionen som en utökad egenskap måste du spara den här informationen som en databasinstruktion. I askläge kan GitHub Copilot inte köra ändringsfrågor mot databasen.
-- 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';
När du har lagt till instruktionen i databasen tillämpar Copilot automatiskt informationen på efterföljande interaktioner.
Använd Copilot med instruktionen tillämpad
Ställ samma eller en relaterad fråga till Copilot igen, What was revenue for the last quarter of the year? copilot använder nu den sparade instruktionen för att generera resultat som överensstämmer med din affärsdefinition av intäkter, utan att du behöver upprepa regeln. Du kan också be Copilot Show me the query used to get this information. att bekräfta Copilots förståelse av instruktionen.
Fler exempel
Det finns många scenarier där affärsregler måste tillämpas för ett databasobjekt, inklusive tabeller, kolumner och lagrade procedurer.
The dbo.Apts table stores information about patient appointmentsThe Status column in dbo.Apts encodes status as: 1 = Scheduled, 2 = Completed, 5 = Confirmed, 99 = CancelledThe DtCrtd column in dbo.Apts lists the date and time the appointment was created
När du använder databasinstruktioner med Copilot kan du också fråga efter instruktioner som för närvarande finns.
Show me the database instructions for this databaseDoes this database have a constitution set?
Använda GitHub Copilot för att skapa en databas konstitution
GitHub Copilot i SSMS stöder också en enda konstitution för databasen, som anger den högsta prioritetsinstruktionen för databasen. Konstitutionen kan innehålla rekommendationer, kodningsriktlinjer, kvarhållningsprinciper med mera. I agentläge (för närvarande i förhandsversion) kan du också använda CONSTITUTION.md för att ange databasanvändaren eller SQL-inloggningen som används av agentläget för frågekörning. Mer information finns i Execution-kontext för GitHub Copilot i SQL Server Management Studio.
Anmärkning
Implementering av en databaskonstitution gäller för GitHub Copilot-konversationer för varje användare som använder GitHub Copilot i SSMS. Rekommendationerna och riktlinjerna gäller endast för GitHub Copilot-konversationer.
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.';
Kravspecifikation
Databasinstruktioner stöds för närvarande endast som utökade egenskaper. De följer AGENTS.md format för att tillhandahålla den kontext som används av GitHub Copilot. Namnet på objektets utökade egenskap måste vara AGENTS.md. Endast en egenskap med namnet AGENTS.md kan finnas för ett objekt. Om en instruktion är felaktig kan du uppdatera den med hjälp av sp_updateextendedproperty, eller ta bort den med hjälp av sp_dropextendedproperty. Ingen annan konfiguration krävs för att databasinstruktioner ska fungera.