이번 포스팅은 Graph Connector에서 SQL을 연결하는 방법에 대해서 다루겠습니다.
ChatGPT에 물어봐도 만족할만한 수준의 답변이 나오지 않았고, 해외 블로그를 검색해도 구체적으로 작성한 사례를 찾을 수 없었습니다. 궁극적으로 Graph Connector를 연결하려는 목적은 SQL DB 데이터를 Copilot과 Copilot Studio에서 활용 가능한지에 대한 검증입니다.
이것이 최근에 나온 기술인가? 그것은 아닙니다.
그러면 왜 지금 시점에서 구성을 해보는 것이냐? 라고 하면, 이전에 이것을 안 했던 전제가 바뀌었습니다.
예전에 제가 Graph Connector를 통해서 파일서버를 인덱싱하여 Copilot 활용하는 것에 대해서 다룬 적이 있습니다.
아래의 화면을 보면, 당시에 90일 무료평가판을 신청하면 100만개를 인덱싱할 수 있었습니다.

즉 라이선스를 구매해야 했었습니다. M365 E5가 있다면, 라이선스당 500개 정도를 주었습니다.
중견 기업이상정도가 된다면, 파일 서버의 파일 개수는 1000만개 이상입니다. 즉… 현실적으로 활용가치가 없었습니다.
그런데 작년 9월쯤에 테넌트당 5천만개를 제공한다. 로 바꿨습니다.
We’re excited to share that Microsoft 365 and Office 365 subscriptions will now receive a 50 million item index per tenant without any extra cost for data ingested via Microsoft Graph connectors.
With this change, the index quota entitlement per license is removed, as is add-on cost for additional quota.
5천만개라고 하면, 어떻게 활용하느냐에 따라서 활용 가치가 있습니다.
SQL Server 설치는 했다는 전제로 진행하겠습니다.
그리고 Graph Connector를 설치 및 앱 등록 하는 과정은 아래의 글을 참고하여 진행합니다.
2024.06.07 - [Copilot/Graph Connector] - Copilot. File Server를 Graph Connector로 연결하여 활용하기
Step 1. TestTable 생성
연결 구조는 다음과 같습니다.

New Query

아래의 스크립트를 실행
-- 1. Create new table
CREATE TABLE dbo.TestTable (
  [Date]        DATE         NOT NULL,  -- Transaction date
  [DealNo]      INT          IDENTITY(1,1) PRIMARY KEY,  -- Unique deal number
  [SalesPerson] NVARCHAR(50) NOT NULL,  -- Sales person name
  [Region]      NVARCHAR(50) NOT NULL,  -- Region
  [Product]     CHAR(1)      NOT NULL,  -- Product code (A–E)
  [SalesAmount] INT          NOT NULL   -- Sales amount (integer)
);
GO
-- 2. Insert sample data (DealNo is auto-generated by IDENTITY)
INSERT INTO dbo.TestTable ([Date], [SalesPerson], [Region], [Product], [SalesAmount])
VALUES
  ('2025-05-01', N'Kim Chulsoo',   N'Seoul',      'A', 1200000),
  ('2025-05-02', N'Lee Younghee',   N'Busan',      'B',  950000),
  ('2025-05-03', N'Park Minsu',     N'Incheon',    'C', 1100000),
  ('2025-05-04', N'Choi Minji',     N'Daegu',      'D',  780000),
  ('2025-05-05', N'Jung Hyunwoo',   N'Daejeon',    'E', 1025000);
GO
-- 3. Verify inserted data
SELECT
  [Date],
  [DealNo],
  [SalesPerson],
  [Region],
  [Product],
  [SalesAmount]
FROM dbo.TestTable
ORDER BY [DealNo];
GO
아래와 같이 생성 진행

Step 2. Graph Connector 설정
Settings -> Search & intelligence -> Data sources -> Add Connection

Microsoft SQL server(New) -> Next

SQL 연결 정보 입력 -> Authorize

상단의 Content

아래의 스크립트를 입력합니다.
SELECT
  [Date]        AS Date,
  [DealNo]      AS DealNo,
  [SalesPerson] AS SalesPerson,
  [Region]      AS Region,
  [Product]     AS Product,
  [SalesAmount] AS SalesAmount
FROM dbo.TestTable
WHERE [Date] >= COALESCE(
    TRY_CONVERT(datetime2, @watermark),
    '1900-01-01T00:00:00'
)
ORDER BY [Date] ASC;
Preview 를 클릭하고 다음과 같이 선택합니다.

아래와 같이 속성 설정을 진행합니다.

권한 설정을 진행합니다.

Time zone 설정 -> Create

동기화 진행

Graph Connector가 연결된 뒤, 아래와 같이 Copilot Studio에서 SQL Server를 참조 자료로 추가할 수 있습니다.

M365 Copilot Agent에서도 아래와 같이 활성화 할 수 있습니다.

지금까지 작성한 내용은 Copilot Studio와 연계할 수 있는지 여부를 검토하는 관점에서 작성되었습니다. 데이터 자체의 활용은 불가능할 수 있습니다. 위 내용을 바탕으로 RawData가 준비되면 Graph Connector를 통해 활용 가능성을 검증할 수 있을 것입니다.
과거에는 SQL을 몰라서 진행이 어려웠지만, 이제는 AI의 도움을 받아 시행착오를 겪더라도 제작할 수 있게 되었습니다. AI를 활용해도 글로벌 차원에서 위 내용에 대한 레퍼런스가 없어서 오답만 받았고, 많은 시간을 소모했습니다.
'Copilot > Graph Connector' 카테고리의 다른 글
| Copilot. File Server를 Graph Connector로 연결하여 활용하기 (0) | 2024.06.07 | 
|---|