Azure SQL 데이터베이스의 Microsoft Copilot 기술(미리 보기)
적용 대상: Azure SQL 데이터베이스
Azure의 Microsoft Copilot은 이제 Azure SQL 데이터베이스와 통합되어 SQL 종속 애플리케이션의 관리 및 작업을 향상합니다. 자연어를 SQL로 변환하고 데이터베이스 관리를 위한 자가 진단을 제공하여 Azure Portal의 생산성을 개선합니다.
Copilot은 사용자 질문에 대한 관련 답변을 제공하고 데이터베이스 컨텍스트, 설명서, 동적 관리 뷰, 쿼리 저장소 및 기타 기술 자료를 활용하여 데이터베이스 관리를 간소화합니다. 예시:
- 데이터베이스 관리자는 독립적으로 데이터베이스를 관리하고 문제를 해결하거나 데이터베이스의 성능과 기능에 대해 자세히 알아볼 수 있습니다.
- 개발자는 T-SQL 쿼리를 생성하기 위해 텍스트나 대화에서 하듯이 데이터에 대해 질문할 수 있습니다. 또한 개발자는 생성된 쿼리에 대한 자세한 설명을 통해 보다 빠르게 쿼리를 작성하는 방법을 배울 수 있습니다.
Copilot은 공용 설명서, 동적 관리 뷰, 카탈로그 뷰 및 Azure 지원 가능성 진단을 사용하여 데이터를 통합하고 적용 가능한 응답을 공식화합니다.
Azure SQL 데이터베이스 환경
현재 미리 보기에는 다음과 같은 두 가지 고유한 환경이 포함되어 있습니다.
Azure의 Microsoft Copilot 통합: 이 환경은 고객이 자체 가이드 지원을 통해 데이터베이스를 관리하고 독립적으로 문제를 해결할 수 있도록 Azure의 Microsoft Copilot에 Azure SQL 데이터베이스 기술을 추가합니다.
자연어를 SQL로 변환: Azure Portal 쿼리 편집기 내의 이 환경은 자연어 쿼리를 SQL로 변환하여 데이터베이스 상호 작용을 보다 직관적으로 만듭니다. Azure SQL 데이터베이스에서 Copilot의 자연어를 SQL로 변환 기능에 대한 자습서 및 예시는 Azure Portal 쿼리 편집기에서 자연어를 SQL로 변환(미리 보기)을 참조하세요.
자연어를 SQL 쿼리로 변환
Azure Portal 쿼리 편집기 내의 이 환경은 테이블 및 뷰 이름, 열 이름, 기본 키 및 외래 키 메타데이터를 활용하여 T-SQL 코드를 생성합니다. 그런 다음 코드 제안을 검토하고 실행할 수 있습니다.
이 통합은 Azure의 Microsoft Copilot이 다음과 같은 프롬프트를 통해 질문에 답할 수 있음을 의미합니다.
Which agents have listed more than two properties for sale?
Tell me the rank of each agent by property sales and show name, total sales, and rank
Show me a pivot summary table that displays the number of properties sold in each year from 2020 to 2023
와 같은 고급 시나리오
Azure SQL 데이터베이스에서 Copilot의 자연어를 SQL로 변환 기능에 대한 자습서 및 예시는 Azure Portal 쿼리 편집기에서 자연어를 SQL로 변환(미리 보기)을 참조하세요.
Azure 테넌트에서 Microsoft Copilot 사용
Microsoft Copilot을 사용하도록 설정하는 방법에 대한 자세한 내용은 Azure용 Microsoft Copilot(미리 보기)을 참조하세요.
Azure의 Microsoft Copilot 향상된 시나리오
Azure Portal 내의 Azure의 Microsoft Copilot에서 유용하고 상황에 맞는 제안을 요청하고 받을 수 있습니다.
Warning
Azure의 Microsoft Copilot은 LLM(대규모 언어 모델)을 기반으로 하는 환경의 미리 보기 모음입니다. Copilot에서 생성된 출력에는 부정확성, 바이어스 또는 기타 의도하지 않은 콘텐츠가 포함될 수 있습니다. 모든 생성 AI 모델과 마찬가지로 인간은 사용하기 전에 Copilot에서 생성된 출력을 검토해야 합니다.
Azure의 Microsoft Copilot에 대한 몇 가지 예시 시나리오:
느린 Azure SQL 데이터베이스로 작업하는 경우 프롬프트
My database is slow
를 제공할 수 있습니다.Azure의 Microsoft Copilot(미리 보기)은 Azure Portal의 컨텍스트에 따라 데이터베이스를 살펴보기 시작합니다. 확인 후 Copilot은 문제의 원인이 될 수 있는 특정 영역을 자세히 설명합니다. 이 예시에는 CPU 사용률을 높이는 특정 쿼리가 있습니다.
How can I tune that high CPU query?
라는 프롬프트를 사용하여 대화와 조사를 계속할 수 있습니다.Copilot은 이 프롬프트가 이전에 식별된 쿼리를 참조한다는 것을 이해하고 새로운 인덱스 제안을 제공합니다.
샘플 프롬프트
다양한 기능 영역을 중심으로 Azure의 Microsoft Copilot에 대한 프롬프트를 제공할 수 있으며, 예시는 다음과 같습니다.
기술 이름 | 작업 설명 | 예시 프롬프트 |
---|---|---|
활성 사용자 연결 | 데이터베이스에 대한 활성 사용자 연결을 표시합니다. | Who are currently actively connected to the database? |
안티패턴 쿼리 분석 | 안티패턴 및 성능에 미치는 잠재적 영향을 사용하여 쿼리를 식별합니다. | Show me all the queries in my workload that have anti-patterns in them. |
자동 튜닝 분석 | 자동 튜닝 실패 및 잠재적 솔루션을 조사합니다. | Why is automatic plan correction failing? |
기본 데이터베이스 정보 | 데이터베이스에 대한 기본 정보를 검색합니다. | What is the name of the logical server for this database? |
차단 세션 분석 | 차단 세션을 식별하고 분석합니다. | Check top blocking sessions. |
호환성 수준 | 데이터베이스 호환성 수준에 대한 정보를 제공합니다. | What's the compatibility level of this database? |
연결 문자열 생성 | 데이터베이스에 대한 적절한 연결 문자열을 생성합니다. | Which connection string should I use to connect to my DB? |
Copilot 도움말 | Azure SQL을 사용하여 일반 지원 및 지침을 제공합니다. | What can you do related to Azure SQL? |
데이터 동기화 분석 | 데이터 동기화 문제, 특히 보조 동기화 문제를 해결합니다. | Why do my secondaries not have the latest data? |
데이터베이스 및 테이블 크기 | 데이터베이스 및 테이블 크기에 대한 정보를 제공합니다. | What's the size of this database? |
데이터베이스 성능 분석 | 전체 데이터베이스 성능을 분석하고 향상된 성능을 제안합니다. | Why is my database slow? |
데이터베이스 사용 권한 목록 | 사용자의 데이터베이스 사용 권한 및 액세스 수준을 나열합니다. | Which users have access to master database? |
교착 상태 분석 | 교착 상태를 조사하고 솔루션을 제안합니다. | Why am I getting deadlock errors? How can I fix it? |
삭제된 연결 분석 | 삭제된 데이터베이스 연결 인스턴스를 조사합니다. | Show me all the instances where my database had a dropped connection. |
조각화된 인덱스 분석 | 조각화된 인덱스와 해당 인덱스가 성능에 미치는 영향을 식별합니다. | Help me find fragmented indexes. |
일반 안티패턴 정보 | 공통 SQL 안티패턴에 대한 일반 정보를 제공합니다. | What are the most common SQL antipatterns? |
서버에 대한 데이터베이스 이름 가져오기 | 특정 서버의 모든 데이터베이스를 나열합니다. | List all the databases on this server. |
높은 CPU 사용 쿼리 분석 | CPU 사용량이 많은 쿼리를 식별하고 분석합니다. | Why is the CPU usage high on this database? |
높은 IO 문제 해결 | 데이터베이스의 I/O가 높은지 확인합니다. | Is my database experiencing high I/O? |
인덱스 목록 | 데이터베이스의 모든 인덱스를 표시합니다. | What are all the indexes? |
특정 테이블에 대한 인덱스 권장 사항 | 하나 이상의 테이블에 대한 인덱스 권장 사항을 제공합니다. | Should I add an index on this table? |
최신 백업 정보 | 최신 데이터베이스 백업에 대한 정보를 제공합니다. | When was the most recent backup of my database created? |
낮은 저장소 공간 문제 해결 | 데이터베이스의 공간을 확보하는 제안을 제공합니다. | Is there a way I can free up space in my database? |
MAXDOP 최적화 | MAXDOP 설정에 대한 최적화를 분석하고 제안합니다. | What's the current MAXDOP and how to optimize? |
메모리 부여 분석 | 메모리 부여 문제 및 잠재적 원인을 분석합니다. | Why am I having memory grant issues? |
누락된 인덱스 제안기 | 누락된 인덱스를 제안하여 쿼리 성능을 개선합니다. | Missing index suggestion for improving query performance? |
특정 시점 복원 보존 | 특정 시점 복원 보존 기간에 대한 정보를 제공합니다. | How far back in time can I go for a point-in-time restore? |
쿼리 성능 분석 | 느리게 실행되는 쿼리에 대한 솔루션을 조사하고 제안합니다. | Why is this query running so slow? |
쿼리 저장소 - 강제 계획 찾기 | 지정된 기간 내에 강제 계획이 있는 쿼리를 표시합니다. | Show me all the queries from the past 2 days that have forced plans. |
쿼리 저장소 - 높은 실행 시간 변형 찾기 | 실행 시간의 변형이 높은 쿼리를 식별합니다. | Which queries on my database have a high variation in execution time? |
쿼리 저장소 - 가장 높은 I/O 쿼리 찾기 | I/O 사용량이 가장 높은 쿼리를 표시합니다. | What queries on this database use the most I/O? |
쿼리 저장소 - ID로 쿼리 텍스트를 가져옵니다. | 제공된 쿼리 ID를 기반으로 쿼리 텍스트를 표시합니다. | What is the query text for Query ID 1333? |
쿼리 저장소 - 최근에 실행된 쿼리 | 가장 최근에 실행된 쿼리를 표시합니다. | What are the most recently executed queries in my database? |
쿼리 저장소 - 가장 오래 실행되는 쿼리 | 지정된 기간 내에 가장 오래 실행되는 쿼리를 표시합니다. | What are the longest running queries in the past day? |
쿼리 저장소 - 대기 시간이 가장 높은 쿼리 | 대기 시간이 가장 높은 쿼리를 식별합니다. | Which queries have had the highest wait times? |
쿼리 저장소 - 여러 계획이 있는 쿼리 | 여러 실행 계획이 있는 쿼리를 확인합니다. | Show me the queries that have had more than one execution plan. |
쿼리 저장소 - 저하된 쿼리 | 성능이 저하된 쿼리를 식별합니다. | Have any of my queries gotten significantly slower recently? |
쿼리 저장소 - 계획 변경이 있는 저하된 쿼리 | 성능이 저하된 계획 변경이 있는 쿼리를 표시합니다. | Are there any queries that had plan changes and regressed in performance? |
쿼리 저장소 - 쿼리당 실행 표시 | 각 쿼리에 대한 실행 수를 표시합니다. | What queries are being executed most often? |
쿼리 저장소 - 상위 리소스 사용 쿼리 | 리소스 사용량이 가장 높은 쿼리를 식별하고 분석합니다. | What are the most expensive queries in my workload? |
쿼리 저장소 모드 문제 해결 | 읽기 전용 모드에 있는 쿼리 저장소에 대한 솔루션을 조사하고 제공합니다. | Why is Query Store in read-only mode? How can I fix it? |
관련 설명서 | 사용자의 쿼리를 기반으로 관련 설명서에 대한 링크를 제공합니다. | What does database compatibility level mean? |
자원 배정 현황 분석 | 자원 배정 현황 및 잠재적인 병목 상태를 분석합니다. | Is the database hitting resource limits? Which limits? |
테이블 목록 | 데이터베이스의 모든 테이블을 나열합니다. | What are the names of all the tables? |
오류 18456 문제 해결 | SQL 오류 18456에 도움이 됩니다. | Help me with SQL error 18456 |
오류 40615 문제 해결 | SQL 오류 40615에 도움이 됩니다. | Help me with SQL error 40615 |
연결 오류 문제 해결 | 연결 시간 제한의 원인을 확인합니다. | Check for causes of connection timeouts in my database |
로그인 오류 문제 해결 | 로그인 실패 문제를 진단합니다. | Why can't I login to my database? |
쿼리 시간 제한 문제 해결 | 쿼리 시간 제한 문제를 해결합니다. | Help me with query timeout issues |
대기 통계 분석 | 대기 통계 및 잠재적인 성능 병목 상태를 분석합니다. | What do the wait statistics look like for my database? |
워크로드 증가 및 크기 조정 분석 | 워크로드 증가 및 확장에 대한 잠재적인 필요성을 평가합니다. | Has increased workload or traffic caused performance issues? |
책임 있는 AI
Microsoft가 Azure의 Microsoft Copilot에서 책임 있는 AI 도구를 구현하는 방법에 대한 자세한 내용은 Azure의 Microsoft Copilot에 대한 책임 있는 AI FAQ(미리 보기)를 참조하세요.
문제 해결
Azure SQL 데이터베이스에 대한 몇 가지 질문에 대답하기 위해 Microsoft Copilot은 현재 Azure Portal 로그인 컨텍스트의 컨텍스트에서 데이터베이스에 연결하고 동적 관리 뷰 및 쿼리 저장소 시스템 테이블에 대한 쿼리를 실행해야 할 수 있습니다.
Azure SQL 데이터베이스에 연결할 때 다음과 같은 고려 사항 및 제한 사항이 적용됩니다.
서버에서 IP를 허용 목록에 추가합니다. 필요한 정보를 성공적으로 추출하려면 아웃바운드 IP 주소를 서버의 허용된 방화벽 규칙에 추가하여 데이터베이스에 액세스해야 합니다. 자세한 내용은 Azure SQL 데이터베이스 및 Azure Synapse IP 방화벽 규칙을 참조하세요.
TCP 포트 433 및 1433을 엽니다. 아웃바운드 포트 TCP 1433 및 433을 사용하도록 설정하지 않은 경우 데이터베이스에서 정보를 가져오는 프롬프트를 실행하는 동안 영구적 오류가 발생할 수 있습니다. 이러한 오류는 Copilot이 포트 443 및 1443을 통해 데이터베이스와 통신할 수 없기 때문에 발생합니다. 이러한 포트에서 아웃바운드 HTTPS 트래픽을 사용하도록 설정해야 합니다. 회사 IT 부서에 문의하여 로컬 네트워크에서 이 연결을 열도록 승인을 받아야 할 수 있습니다. 자세한 내용은 Azure SQL 데이터베이스 연결 아키텍처를 참조하세요.
데이터베이스에 대한 사용 권한입니다. Copilot은 현재 사용자 컨텍스트를 대신하여 작동하므로 데이터베이스에서 일부 DMV 쿼리를 실행할 수 있는 권한이 없는 경우 Copilot이 질문에 올바르게 대답하지 못합니다. 질문에 대답하는 데 필요한 시스템 안정 또는 DMV에 따라 VIEW DATABASE STATE, VIEW SERVER STATE, VIEW SERVER PERFORMANCE STATE 권한은 과도한 관리 권한을 부여하지 않고 필요한 액세스를 제공할 수 있습니다. 자세한 내용은 GRANT 데이터베이스 사용 권한(Transact-SQL)을 참조하세요.