SQL Server Management Studio'da GitHub Copilot Aracısı modunu (önizleme) kullanma

SQL Server Management Studio’da (SSMS) GitHub Copilot Aracı Modu (önizleme), doğal dilde üst düzey bir hedef belirtmenize ve Copilot’un sorgular çalıştırarak, dosyaları okuyarak ve kendi çıktıları üzerinde yineleme yaparak görev tamamlanana veya müdahaleniz gerekene kadar bu hedef üzerinde çalışmasına olanak tanır.

Uyarı

SQL Server Management Studio'de (SSMS) GitHub Copilot Aracı modu şu anda önizleme aşamasındadır.

Tek bir yanıt sonrasında durdurulan Ask modundan farklı olarak, Aracı modu adımları çalıştırmaya, araçları çağırmaya ve hedefinize ulaşana kadar yaklaşımını iyileştirmeye devam eder. Veritabanının ön kısmında CONSTITUTION.mdözel bir veritabanı kullanıcısı veya SQL oturum açma bilgisi belirtilmediği sürece tüm sorgular ve komutlar kullanıcının oturum açma bilgileri ve izinleri bağlamında yürütülür. Daha fazla bilgi için bkz. SQL Server Management Studio’da GitHub Copilot için Yürütme bağlamı.

Important

Aracı modu sorguları yürütebilir ve sizin yerinize veritabanı değişiklikleri yapabilir. Copilot her sorguyu veya komutu çalıştırmadan önce onayınızı ister. Önerilen eylemleri onaylamadan önce dikkatlice gözden geçirin. SQL Server en az ayrıcalıklı izinlerini kullanarak erişim denetimini zorunlu kılma. Güvenlik sınırı, Copilot’un onay sistemi değil, SQL Server’ın izin denetimidir.

Soru sor modu ile Ajan modu karşılaştırması

Hangi modun görevinize uygun olduğunu belirlemek için aşağıdaki tabloyu kullanın:

Sor modu Aracı modu
Nasıl çalışır İstem başına tek yanıt; kodu el ile uygularsınız Çok adımlı yürütme; hedefe ulaşılana kadar yinelenir
Yürütme Yalnızca salt okunur sorgular Sorgular ve komutlar sizin onayınızla yürütülür
Şema değişiklikleri Çalıştırmanız için T-SQL oluşturur Şema değişikliklerini onaylarsanız ve oturum açma izniniz varsa yürütebilir
Şunun için en uygun Fikirleri keşfetme, uygulamadan önce oluşturulan kodu gözden geçirme Karmaşık çok adımlı görevler, araştırma, analiz ve yinelemeli geliştirme
Kesinti Tek yanıt, istediğiniz zaman iptal edebilirsiniz İstediğiniz zaman iptal edebilirsiniz

Prerequisites

Aracı modu kullan

Aracı modunda Copilot otonom olarak çalışır ve isteminiz için ilgili bağlamı belirler. SSMS’de GitHub Copilot için Aracı Modu, tümleştirmesi için yerel bir MCP sunucusu (sql-tools) kullanır ve önceden tanımlanmış bir araç kümesiyle sunulur.

  1. SSMS'de sohbet penceresini açmak için View>GitHub Copilot Chat öğesini seçin.
  2. Sohbet penceresinin alt kısmında mod açılır listesini genişletin ve Agent seçeneğini belirleyin.
  3. Kullanılabilir araçları görmek için sohbet penceresinin sağ alt kısmında Araçlar simgesini seçin.
  4. Önceden tanımlanmış araçları görmek için sql-tools öğesini genişletin. Ne yaptığı hakkında daha fazla bilgi edinmek için araç adının üzerine gelin. Tüm araçların seçimini kaldırırsanız Aracı modu beklendiği gibi çalışmaz.
  5. Araç listesini devre dışı bırakamazsınız SSMS .
  6. Üst düzey hedefi açıklayan isteminizi girin ve üzerinde çalıştığınız veritabanının veya sunucunun adını ekleyin. Aracı modu, etkin sorgu düzenleyicisinden bağlamı devralmıyor.

Important

En iyi sonuçlar için, isteminize veritabanını veya sunucuyu ekleyin. Bu ekleme belirsizliği ve araç çağrılarının sayısını azaltır. Bağlantı bilgilerini eklemezseniz, Copilot kullanılacak bir bağlantıyı belirlemek için bağlantı listenizi okur veya hangi veritabanı veya sunucunun kullanılacağını açıklar.

  1. İstemi göndermek için Gönder'i seçin veya Enter tuşuna basın.

    Başlamak için örnek istemler:

    - In the WideWorldImporters database on the SalesPRD server, analyze the `Sales.usp_QuarterlySalesSummary` stored procedure and its execution plan and tell me how to improve it
    - The AdventureWorks database on the SalesPRD server had high CPU between 1PM and 2PM today, investigate what caused it
    - Find the SQL Agent jobs on the SalesPRD server that failed in the last 24 hours, analyze the history and explain what happened and how to fix the jobs
    
  2. Aracı modu, isteğinizi tamamlamak için birden çok araç çağırabilir. Örneğin, şema bilgilerini okurken, Transact-SQL oluştururken ve sonuçları çözümlerken. Aktif araç, her adım yürütülürken sohbette görünür.

  3. Copilot bir sorguyu veya komutu yürütmeye hazır olduğunda duraklatılır ve onayınızı ister. Önerilen eylemi gözden geçirin ve devam etmek için İzin Ver'i veya bu adımı atlamak için Kapat'ı seçin.

    İzin ver açılan listesini kullanarak onay kapsamını yapılandırabilirsiniz:

    Seçenek Etkisi
    Bir kez izin ver Bu tek çağrıyı onaylar
    Bu oturum için izin ver Geçerli sohbet oturumunun geri kalanı için bu aracı onaylar
    Her zaman izin ver Sonraki tüm çağrılar için bu aracı onaylar

    Araç onay ayarlarını sıfırlamak için Araçlar>Seçenekler>GitHub>Copilot>Araçlar bölümüne gidin.

  4. Copilot her adımın sonucunu izler. Sorgu hedefinize uymayan bir hata veya sonuç döndürürse, Copilot yaklaşımını düzeltir ve otomatik olarak yeniden dener.

  5. Görev tamamlandığında, Copilot ne yaptığını özetler. Veritabanınıza veya sorgu düzenleyicisine uygulanan değişiklikleri gözden geçirin.

Temsilci modu araçlarını anlayın

Aracı modunda, Copilot isteğinizi tamamlamak için aşağıdaki araçları kullanabilir:

Uyarı

Aracı modu yalnızca erişebileceğiniz veya bağlanabileceğiniz veritabanları ve nesnelerle ya da veritabanı CONSTITUTION.md dosyasındaki kimlik bilgilerini kullanarak çalışır. Kimlik bilgilerinizle zaten sahip olduklarınızın ötesinde yükseltilmiş izinlere sahip değildir.

Aracı modunda kullanılabilen araçları görüntülemek ve yönetmek için sohbet penceresinde Araçlar simgesini seçin . Bir aracın sonucuna bağlı olarak, Copilot genel isteği gerçekleştirmek için diğer araçları çağırabilir. Örneğin, T-SQL kod düzenlemesi söz dizimi hatasıyla sonuçlanırsa, Copilot başka bir yaklaşımı inceleyip farklı bir değişiklik önerebilir.

Copilot dış araçlara ve hizmetlere bağlamak için MCP sunucuları aracı modunu da genişletebilirsiniz. MCP sunucusu için kullanılabilen araçlar otomatik olarak etkinleştirilmez. Onay kutuları varsayılan olarak temizlenir ve araçları etkinleştirmek için bunları seçmeniz gerekir.

Araç onaylarını yönetme

Copilot herhangi bir sorguyu çalıştırmadan veya bir dış aracı çağırmadan önce onay ister. Bu adım sizi istenmeyen değişikliklerden korur. Varsayılan olarak, her eylem açık bir onay gerektirir.

Bir aracı onaylarken, kalıcılığı ayarlamak için İzin Ver açılan listesini kullanın:

  • Bu oturuma izin ver: Geçerli sohbet oturumunda bu araç için başka istem yok
  • Her zaman izin ver: bu araç için oturumlar arasında kalıcı olur

Onayları gözden geçirmek ve sıfırlamak için Tools>Options>GitHub>Copilot>Tools bölümüne gidin.

Düzenlemeleri kabul etme veya atma

Aracı modu açık dosyalara değişiklikler uyguladığında sohbet penceresinde Toplam değişiklik özeti görüntülenir. Değişiklikleri tek tek gözden geçirmek için her dosyayı seçin. Koru ve Geri Al düğmelerini kullanarak kodun her bölümünde yapılan düzenlemeleri tutabilir veya geri alabilirsiniz . Alternatif olarak, Toplam değişiklik listesinde, En son Koru veya Geri Al'ı seçtiğinizden bu yana yapılan tüm düzenlemeler için Koru veya Geri Al'ı seçin.

Çok dosyalı özet görünümü

SSMS 22.6'dan başlayarak, Copilot birden çok dosyayı düzenlediğinde, dosyalar arasında ayrı ayrı geçiş yapmak yerine tüm değişiklikleri tek bir özet görünümünde gözden geçirebilirsiniz.

  1. Copilot düzenlemeyi tamamladıktan sonra, Copilot Chat çalışma kümesindeki İşlemleri aç özet görünümünü düğmesini seçin.
  2. Değiştirilen tüm dosyaları ve listelenen farkları gösteren tek bir sekme açılır.
  3. Değişiklikleri farklı ayrıntı düzeylerinde kabul edebilir veya geri alabilirsiniz:
  • Genel Dosyaları koru ve Dosyaları geri al düğmelerini kullanarak, tüm dosyalarda aynı anda.
  • Tüm Değişiklikleri Koru ve TümünüGeri Al düğmelerini kullanarak her dosya için.
  • Her kod değişikliği için Koru (Ctrl + Y) ve Geri Al (Ctrl + N) tuşlarını kullanın.
  1. Pencerenin sol üst köşesindeki denetimleri kullanarak:
  • Hızlı bir genel bakış için yalnızca dosya üst bilgilerini görmek için tüm dosya içeriğini daraltma
  • Değişiklikleri hızla atlamak için sonraki ve önceki düğmeleri kullanarak fark öbekleri arasında gezinin Ayrıca, ayrı ayrı açmak ve tam bağlamını görmek için herhangi bir dosyayı seçebilirsiniz.

Ajan modu talebini kesme

Devam eden aracı modu isteğini istediğiniz zaman durdurmak için sohbet penceresinde İptal'i seçin. İptal işlemi tüm çalışan araçları ve bekleyen sorguları durdurur. Zaten yürütülen ve onaylanan sorgular otomatik olarak geri alınmıyor . Gerekirse çok adımlı bir işlemi iptal ettikten sonra veritabanınızın durumunu doğrulayın.

Scenarios

Aşağıdaki örneklerde Aracı modunun yaygın SQL Server görevleri nasıl işlediği gösterilmektedir. Bu örnekler temsili istemlerdir. Bunları veritabanınıza ve hedeflerinize uyarlar.

Saklı yordam oluşturun ve test edin

Within the WideWorldImporters database on the PRD-Sales server, create a stored procedure named Sales.GetTopCustomers that accepts a date range and a row count, and returns the top N customers by total order value in that date range. Include error handling and test it with sample parameters.

Agent modu, uygun tabloları belirlemek için veritabanınızın şemasını okur, saklı yordamın taslağını oluşturur, CREATE PROCEDURE ifadesini yürütür ve ardından çıktıyı doğrulamak için örnek parametrelerle test amaçlı bir çalıştırma gerçekleştirir.

Sorgu performansını iyileştirin

The query in the active editor, connected to AdventureWorks on the TEST-AW server is running slowly. Analyze its execution plan and suggest options to improve performance.

Aracı modu sorgunuz için tahmini bir yürütme planı oluşturabilir, planı bulmak için Query Store kullanabilir veya başvuru olarak eklerseniz gerçek bir plan kullanabilir. Sorgudaki ve yürütme planlarındaki karşı desenleri, eksik dizinler de dahil olmak üzere, tespit eder. CREATE INDEX ifadeleri de dahil olmak üzere belirli kod ve şema değişiklikleri önerir ve onaylamanız hâlinde bu değişiklikleri uygulayabilir. Değişiklikleri bir üretim veritabanına uygulamadan önce her zaman bir test veya geliştirme ortamında uygulayın.

Günlükleri inceleyin

Analyze the SQL ERRORLOG for the PRD-HR server for the last month and give me a list of errors and problems and solutions for fixing them.

Aracı modu örnek için ERRORLOG dosyalarını gözden geçirir, tanımlanan sorunların listesini oluşturur ve çözüm önerileri oluşturur.

İzin boşluklarını denetleme ve düzeltme

Review the permissions for the Reporting role in the CustomerSales database on the PRD-Sales server and identify any tables in the Sales schema that it can't access. Add the missing SELECT permissions.

Aracı modu izin kataloğu görünümlerini sorgular, eksiklikleri belirler, GRANT deyimleri oluşturur ve onay verirseniz bunları çalıştırır.

Yürütme bağlamı ve izinleri

Agent modu tarafından yürütülen tüm sorgular ve komutlar, GitHub Copilot için veritabanının CONSTITUTION.md içinde agentExecuteAsUser olarak bir veritabanı kullanıcısı veya SQL oturum açma hesabı belirtmediğiniz sürece, kimliği doğrulanmış hesabınız kapsamında çalışır.

  • Oturum açma bilgilerinizin tabloyu değiştirme izni yoksa, önerilen sorguyu onaylamanız durumunda bile Aracı modu tabloyu değiştiremez.
  • Copilot onay sistemi bir güvenlik sınırı değildir. Veritabanınızda en az ayrıcalık ilkesini uygulayın: Kullanıcılara yalnızca belirli nesneler üzerinde gereken izinleri verin.
  • Veritabanı kullanıcısı veya SQL oturum açma hesabı belirtmek istediğiniz veritabanları için, SQL Server Management Studio’da GitHub Copilot için yürütme bağlamı konusuna bakın.
  • Bir veritabanı kullanıcısı veya SQL oturumu bir veritabanına atanmışsa ve GitHub Copilot kullanıcısının IMPERSONATE izni yoksa, o veritabanı için GitHub Copilot’u kullanamaz.

Ajan modu varsayılan olarak READ_ONLY şeklinde yapılandırılmıştır. Oturum açma bilgilerinizin veya agentExecuteAsUser hesabınızın verileri veya veritabanı şemasını değiştirme izinleri varsa GitHub Copilot bu sorguları varsayılan olarak yürütmez.

mcp.json dosyasında Aracı Modu'nu READ_WRITE olarak değiştirebilirsiniz. Ancak oturum açma bilgilerinizin agentExecuteAsUser veya hesabınızın verileri veya veritabanı şemasını değiştirme izni yoksa, sql güvenlik izinlerinden dolayı bu tür sorgular başarısız olur.

Sık sorulan sorular

Aracı modu bana sormadan sorguları otomatik olarak yürütür mü?

No. Aracı modu, her sorguyu veya komutu yürütmeden önce onayınızı ister. Geçerli oturum için bir araca izin vermeyi veya her zaman onay istemlerini azaltmayı seçebilirsiniz.

Sorgu başarısız olursa ne olur?

Aracı modu hatayı algılar, analiz eder ve yaklaşımını otomatik olarak düzeltir. Sizden daha fazla giriş yapmadan sorunu çözmeye çalışır. Birkaç denemeden sonra hatayı çözemezse, hatayı bildirir ve kılavuzunuzu ister.

Aracı modunun Ask modundan farkı nedir?

Soru modu tek bir yanıt döndürür ve durur. Oluşturulan kodun uygulanıp uygulanmayacağına siz karar verirsiniz. Aracı modu otonom olarak birden çok adım çalıştırır, onayınızla sorgular yürütür, sonuçları izler ve yineler. Her adım üzerinde tam denetime sahip olmak istediğinizde Ask modunu kullanın; Yalnızca rehberlik sağladığınız karmaşık çok adımlı görevler için Aracı modunu kullanın.

Agent modunu MCP sunucularıyla kullanabilir miyim?

Yes. MCP araçlarını kullanmak için Aracı modunda olmanız gerekir. Bkz. mcp sunucularını SQL Server Management Studio GitHub Copilot ile kullanma.

Yönetici olarak kuruluşum için Aracı modunu nasıl denetleyebilirim?

Yöneticiler aracı modunu GitHub Copilot panosu aracılığıyla denetler. Daha fazla bilgi için bkz. SQL Server Management Studio'da GitHub Copilot için yönetici denetimleri.