Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
GitHub Copilot в SQL Server Management Studio (SSMS) повышает вашу продуктивность внутри рабочего процесса SSMS, включая написание и редактирование Transact-SQL (T-SQL). Чтобы получить большую часть от GitHub Copilot в SSMS, вы должны узнать, как эффективно работать с ним. Как и любой партнер, GitHub Copilot в SSMS лучше функционирует, если заданы четкое направление и соответствующий контекст. Оптимальное использование окна чата также повышает качество работы с GitHub Copilot в SSMS.
Окно чата
Значки и возможности окна чата описаны в режиме Ask и режиме Agent (предварительная версия), но другие аспекты относятся именно к запросам.
В первую очередь не рассматривайте окно чата как окно результатов. Когда вы задаёте GitHub Copilot вопросы о схеме или данных, он может напрямую выполнить запрос для возврата информации в окне чата. GitHub Copilot в SSMS не определяет количество строк, возвращаемых запросом перед его выполнением, и если запрос возвращает 1000 строк, он пытается отобразить эти сведения в чате. Большие результирующие наборы не легко читаются и не могут управляться в окне чата.
Запрос к GitHub Copilot в SSMS, чтобы составить запрос для получения информации, часто предпочитается, так как создает лучшее взаимодействие и опыт работы с GitHub Copilot.
Permissions
GitHub Copilot в SQL Server Management Studio (SSMS) выполняет запросы и команды от имени вашей учетной записи. Применяйте принцип наименьших привилегий: предоставляйте пользователям только те разрешения SELECT, EXECUTE и другие разрешения, которые им необходимы для доступа к конкретным объектам. Начиная с SSMS 22.7, администраторы могут настроить контекст выполнения, который гарантирует, что запросы, созданные Copilot, выполняются под выделенной учетной записью с минимально необходимыми привилегиями, а не с использованием прав самого пользователя. В этой конфигурации используется пользователь базы данных или имя входа SQL, указанное в базе данных CONSTITUTION.md. Дополнительные сведения см. в статье Контекст выполнения для GitHub Copilot в SQL Server Management Studio.
Контекст
Модель искусственного интеллекта не знает схему, соглашения об именовании, бизнес-правила или сервер, на который вы указываете, если вы не сообщите об этом. Чем точнее вы предоставляете контекст, тем лучше ответ. Для GitHub Copilot в SSMS контекст поступает из нескольких источников: активного подключения к базе данных (сервер, база данных), открытых редакторов запросов, результатов в таблице, инструкций для базы данных, устава базы данных и пользовательских инструкций, которые вы настраиваете. Запрос, такой как "оптимизация этого запроса", значительно улучшается, когда модель знает структуры таблиц, охват индекса и шаблоны рабочих нагрузок. Четко сформулированное намерение сообщает модели, чего вы хотите добиться, а точный контекст сообщает ей, где вы работаете и с чем вы работаете. Вместе они избавляют от необходимости гадать и снижают риск появления неверной информации, что особенно важно, если на выходе получается код T-SQL, который может быть выполнен на продуктивных данных. Для получения дополнительной информации см. Добавьте контекст для GitHub Copilot в SQL Server Management Studio.
Согласованность
Общее разочарование среди пользователей сопилотов — непоследовательность ответов. Ответы искусственного интеллекта могут быть несогласованными, так как они создаются вероятностно, а не детерминированно. В частности, если задать тот же вопрос, модель может выбрать другую, но по-прежнему правдоподобную, набор слов или структуру предложений на основе тонких вариаций в контексте, конфигурации или внутренней случайности. Кроме того, модели искусственного интеллекта весят множество потенциальных интерпретаций запроса, поэтому небольшие изменения в фразе или времени могут привести к разным результатам. Эта изменчивость является частью того, что делает ИИ таким гибким и мощным, но также может привести к непредсказуемым результатам, если запросы не создаются оптимально.
Написание запроса
Работа с ИИ подразумевает написание запросов, и, как настройка производительности, это искусство и наука. Вам не нужно быть инженером запросов, чтобы написать хорошие запросы. Но при взаимодействии с ИИ необходимо учитывать общие рекомендации.
Например, если вы спросите Find the hottest tables in the database, GitHub Copilot в SSMS может не понять, что в контексте этого запроса самые горячие таблицы — это те таблицы, которые являются самыми загруженными или наиболее активными. Вместо этого попробуйте List the top 10 tables in the database that have the most reads.
Общие рекомендации по написанию запросов:
| Recommendation | Сведения |
|---|---|
| Использование естественного языка | Вам не нужно использовать специализированный словарь, но старайтесь избежать неофициальных фраз, сленга и жаргона. |
| Будьте четкими и конкретными | Предоставьте достаточно подробных сведений, чтобы GitHub Copilot ясно понимал, о чем вы спрашиваете. |
| Предоставление контекста | GitHub Copilot в SSMS имеет контекст подключения и базы данных на основе подключения редактора запросов, но вы можете предоставить дополнительный контекст, например интервал времени или определенные объекты базы данных. |
| Использование примеров | Строить на предыдущих ответах, таких как Modify the last query to order the results by CustomerID. |
| Определение формата выходных данных | GitHub Copilot может предоставлять сведения в формате текста, таблицы или списка. Он выбирает за вас, но вы можете специально запросить возврат информации в нужном формате. |
Примеры запросов:
| Recommendation | Избегайте | Пробное использование |
|---|---|---|
| Использование естественного языка | Yo cook me up something cool for grabbing sales data |
Write a SQL query that selects the top 10 most recent orders from the Sales.Orders table |
| Будьте четкими и конкретными | Okay, so I've got this thing where I need to maybe get some kind of report or output or whatever for yesterday's stuff but like only for users that are new but not too new, if that makes sense |
Write a query to return users who registered yesterday and have not yet made a purchase |
| Предоставление контекста | List western schools with no language reqs |
List schools in the US-West geo that have a lang_req value of 0 |
| Использование примеров | Write a query to get recent customer info |
Write a query to get customer ID, name, and total number of orders for the last 10 business days ordered by total desc |
| Определение формата выходных данных | Give me hospital locations and size with the busiest emergency rooms |
List the hospitals with the busiest emergency rooms in table format and include city, state, and size |