Aracılığıyla paylaş


SQL Server Management Studio'da GitHub Copilot ile veritabanı yönergelerini kullanma (Önizleme)

Veritabanı yönergeleri, SQL Server Management Studio'da (SSMS) GitHub Copilot'a veritabanına özgü bağlam ve doğrudan veritabanında yer alan yönergeler sağlar. Veritabanı sahipleri ve ekipleri bunları iş kurallarını, veri kurallarını ve kullanım desenlerini açıklamak için kullanabilir. Veritabanı yönergeleriyle Copilot, kullanıcılar soru sorduğunda veya sorgu yazdığında daha doğru, anlamlı ve tutarlı yanıtlar oluşturabilir. Veritabanı yönergeleri, veritabanıyla birlikte hareket eden ve Copilot etkileşimleri sırasında otomatik olarak uygulanan canlı belgeler görevi görür.

Bu makalede, kullanıcıları ve Copilot'u doğru nesneleri ve bilgileri daha hızlı bulma konusunda daha fazla güçlendiren veritabanı yönergelerini kullanmayı öğreneceksiniz. Bu özellik Copilot'a veritabanı, iş ve iç bilgi sağlamak için harcanan süreyi azaltmaya yardımcı olur.

GitHub Copilot Sohbeti hakkında daha fazla bilgi için bkz. SQL Server Management Studio'da GitHub Copilot Sohbet deneyimini kullanma (Önizleme).

Veritabanı yönergeleri nasıl çalışır?

Veritabanı yönergeleri veritabanında meta veri olarak depolanır ve bu sayede Copilot bunları çalışma zamanında otomatik olarak bulabilir ve uygulayabilir. Bir kullanıcı, doğal dilde soru sorma veya T-SQL oluşturma gibi bir veritabanı için GitHub Copilot ile etkileşime geçtiğinde, Copilot bu yönergeleri ek bağlam olarak ekler. Bu bağlam, yanıtların yalnızca şema adlarına veya tahmine bağlı kalmak yerine iş tanımlarını, kurallı tabloları ve etki alanına özgü kuralları yansıtmasını sağlar. Yönergeler oturumlar arasında kalır ve aynı veritabanına erişen tüm kullanıcılar tarafından kullanılabilir.

Önkoşullar

SSMS'de GitHub Copilot için veritabanı yönergeleri, genişletilmiş özelliklerdeki bilgilere dayanır.

  1. AI Yardımı iş yüküyle SSMS 22.3 veya sonraki bir sürümü yükleyin.

  2. Copilot erişimiyle GitHub hesabınızda oturum açın.

GitHub Copilot'i ücretsiz kullanın. Daha hızlı ve verimli bir şekilde kod oluşturmak için kaydolun ve yapay zekayı kullanın.

Veritabanı yönergelerini eklemek veya görüntülemek için GitHub Copilot kullanma

Bu adımlarda GitHub Copilot kullanarak veritabanı yönergeleri oluşturma ve kullanma adımları gösterilmektedir.

Eksik bağlamı ortaya çıkarmak için Copilot'a bir soru sorun

Copilot'a verileriniz hakkında doğal dilde bir soru sorarak başlayın. Örneğin, What was revenue for the last quarter of the year? işletmenin mali yıl ve takvim yılı için farklı başlangıç tarihleri varsa veya gelir birden çok tablo içeren bir hesaplama gerektiriyorsa, ilgili tablolar veya sütunlar veritabanı yönergesi için iyi adaylardır.

İş kuralını veritabanı yönergesi olarak tanımlama

Copilot sohbetinde, Copilot'un hatırlamasını istediğiniz kuralı veya açıklamayı açıklayın. Örneğin, Add an instruction for the Finance.CompanyRevenue table to state that revenue is defined as SUM(NetAmount) excluding refunds recorded in Finance.Refunds.

Yönergeyi veritabanına kaydetme

Copilot, yönergeyi genişletilmiş özellik olarak eklemek için T-SQL söz dizimini oluşturduktan sonra, bu bilgileri veritabanı yönergesi olarak kalıcı hale getirmek gerekir. Sor modunda GitHub Copilot, veritabanında değişiklik sorguları çalıştıramaz.

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

Yönergeyi veritabanına ekledikten sonra, Copilot bilgileri gelecekteki etkileşimlere otomatik olarak uygular.

Copilot'i yönerge uygulanmış olarak kullanma

Copilot'a aynı soruyu veya ilgili bir soruyu yeniden sorun, What was revenue for the last quarter of the year? Copilot artık kuralı yeniden ifade etmeye gerek kalmadan iş gelir tanımınızla uyumlu sonuçlar oluşturmak için kaydedilen yönergeleri kullanır. Copilot'dan, Copilot'un Show me the query used to get this information. yönergeyi anladığını onaylamasını da isteyebilirsiniz.

Diğer örnekler

Tablolar, sütunlar ve saklı yordamlar dahil olmak üzere veritabanı nesnesi için iş kurallarının uygulanması gereken sonsuz senaryolar vardır.

  • 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

Copilot ile veritabanı yönergelerini kullanırken, şu anda var olan yönergeleri de sorabilirsiniz.

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

Veritabanı anayasası oluşturmak için GitHub Copilot kullanma

SSMS'deki GitHub Copilot, veritabanınız için en yüksek öncelik talimatını belirleyen tekil bir yapılandırmayı da destekler. Anayasa öneriler, kodlama yönergeleri, bekletme ilkeleri ve daha fazlasını içerebilir.

Uyarı

Veritabanı anayasası uygulamak, SSMS'de GitHub Copilot kullanan her kullanıcı için GitHub Copilot konuşmaları için geçerlidir. Öneriler ve yönergeler yalnızca GitHub Copilot konuşmaları için geçerlidir.

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

Gereksinimler

Veritabanı yönergeleri şu anda yalnızca genişletilmiş özellikler olarak desteklenmektedir. GitHub Copilot tarafından kullanılan bağlamı sağlamak için AGENTS.md biçimini izler. Nesnenin genişletilmiş özelliğinin adı olmalıdır AGENTS.md. Bir nesne için yalnızca bir adlandırılmış AGENTS.md özellik bulunabilir. Bir yönerge yanlışsa, komutunu kullanarak sp_updateextendedpropertygüncelleştirebilir veya kullanarak sp_dropextendedpropertysilebilirsiniz. Veritabanı yönergelerinin çalışması için başka bir yapılandırma gerekmez.