giip
SES 안건 등록
SQL ServerLinked Server接続エラーバージョン互換性障害対応

SQL Server의 Linked Server에서 Msg 7356이 발생하는 원인과 확인 방법

公開日 2026-08-13 · 更新日 2026-08-13 · 最終検証日 2026-08-13

結論

Msg 7356은 "링크 서버의 OLE DB 프로바이더가 열에 대해 일관성 없는 메타데이터를 반환했다"는 오류입니다. 분산 쿼리에서는 컴파일 시점과 실행 시점 두 번, 열의 타입·길이·NULL 허용 여부를 프로바이더에 확인하는데, 이 응답이 일치하지 않으면 발생합니다. 원격 쪽 뷰 정의 변경, 텍스트 계열이나 계산 열, 행마다 메타데이터를 반환하는 이종 프로바이더가 전형적인 원인입니다. 회피에는 `OPENQUERY` 등의 패스스루 쿼리가 효과적입니다.

この文書の適用条件

対象製品SQL Server(링크 서버를 통한 분산 쿼리)
確認バージョンSQL Server 2008 이후(메시지 번호 7356은 광범위하게 공통. 프로바이더 고유 동작은 확인 필요)
適用環境온프레미스, EC2, Amazon RDS(RDS에서는 링크 서버 사용 가능 여부에 제약이 있으므로 확인 필요)
必要権限설정 확인은 VIEW ANY DEFINITION 또는 sysadmin. 링크 서버·프로바이더 옵션 변경은 ALTER ANY LINKED SERVER 또는 sysadmin
実行影響확인계는 참조만 합니다. 프로바이더 옵션 변경은 인스턴스상의 모든 링크 서버에 영향을 줍니다
再起動프로바이더 옵션에 따라 SQL Server 서비스 재시작이 필요할 수 있습니다(확인 필요)
最終検証日2026-08-13

そのまま実行できるコマンド

링크 서버의 구성 확인(참조 전용)参照のみ
対象
SQL Server 2008 이후
権限
VIEW ANY DEFINITION 또는 sysadmin
変更作業
없음(참조만)
Production実行
가능
-- 対象: SQL Server 2008 以降
-- 権限: VIEW ANY DEFINITION または sysadmin
-- 変更作業: なし(参照のみ)
-- Production 実行: 可能
SELECT
    s.server_id,
    s.name,
    s.product,
    s.provider,
    s.data_source,
    s.catalog,
    s.is_linked,
    s.is_remote_login_enabled,
    s.is_rpc_out_enabled,
    s.is_data_access_enabled,
    s.is_collation_compatible,
    s.uses_remote_collation,
    s.collation_name,
    s.lazy_schema_validation,
    s.modify_date
FROM sys.servers AS s
WHERE s.is_linked = 1
ORDER BY s.name;
GO

-- 従来型の確認用ストアドプロシージャ
EXEC sp_helpserver;
EXEC sp_linkedservers;

`provider` 열에서 사용 중인 OLE DB 프로바이더(`SQLNCLI11`, `MSOLEDBSQL`, `MSOLEDBSQL19`, `MSDASQL` 등)를 알 수 있습니다. 오래된 프로바이더를 계속 사용하고 있다면 메타데이터 처리 방식이 현재 버전과 다를 수 있습니다. `is_rpc_out_enabled`는 `EXEC ... AT`를 사용하기 위해 필요합니다.

4부 구성 이름에 의한 분산 쿼리(7356이 발생하는 전형적인 형태)参照のみ
対象
SQL Server 2008 이후
権限
링크 서버의 로그인 매핑과 원격 쪽 참조 권한
変更作業
없음(참조만)
Production実行
가능(오류 재현 확인에 사용)
-- 対象: SQL Server 2008 以降
-- 権限: リンクサーバーのログインマッピングとリモート側の参照権限
-- 変更作業: なし(参照のみ)
-- Production 実行: 可能(エラー再現の確認用)
-- この形式ではローカル側がリモートのメタデータを取得してプランを作るため 7356 が起きやすい
SELECT col1, col2
FROM [LEGACY-SQL01].[SampleDB].[dbo].[SampleTable];

4부 구성 이름의 분산 쿼리에서는 로컬 SQL Server가 원격 쪽 열 메타데이터를 가져온 후 실행 계획을 만듭니다. 이 "컴파일 시점에 가져온 메타데이터"와 "실행 시점에 프로바이더가 반환한 메타데이터"가 일치하지 않으면 Msg 7356이 발생합니다. 먼저 이 형식으로 오류가 재현되는지 확인하십시오.

패스스루 쿼리로 교체(가장 실용적인 회피)参照のみ
対象
SQL Server 2008 이후(`EXEC ... AT`는 RPC OUT이 활성화되어 있어야 함)
権限
링크 서버의 로그인 매핑과 원격 쪽 참조 권한
変更作業
없음(참조만)
Production実行
가능
-- 対象: SQL Server 2008 以降(EXEC ... AT は RPC OUT が有効であること)
-- 権限: リンクサーバーのログインマッピングとリモート側の参照権限
-- 変更作業: なし(参照のみ)
-- Production 実行: 可能
-- 1) OPENQUERY: リモート側でクエリを実行し、結果セットだけを受け取る
SELECT col1, col2
FROM OPENQUERY([LEGACY-SQL01],
    'SELECT col1, col2 FROM SampleDB.dbo.SampleTable WHERE col1 > 0');

-- 2) EXEC ... AT: 完全なパススルー(RPC OUT が必要)
EXEC ('SELECT col1, col2 FROM SampleDB.dbo.SampleTable WHERE col1 > 0')
     AT [LEGACY-SQL01];

-- 3) 型が曖昧な列はリモート側で明示的にキャストする
SELECT note_column
FROM OPENQUERY([LEGACY-SQL01],
    'SELECT CAST(note_column AS nvarchar(4000)) AS note_column
       FROM SampleDB.dbo.SampleTable');

패스스루에서는 원격 쪽이 쿼리를 실행하고 로컬은 결과 세트만 받습니다. 열 메타데이터의 왕복이 줄어들어 7356을 회피할 수 있는 경우가 많은 방법입니다. `EXEC ... AT`를 사용하려면 링크 서버의 RPC OUT을 활성화해야 합니다.

원격 쪽 뷰 정의를 재정합시키기(sp_refreshview)
対象
SQL Server 2008 이후(원격 서버 쪽에서 실행)
権限
원격 쪽에서 대상 뷰에 대한 ALTER 권한
変更作業
있음(뷰의 메타데이터를 재생성하여 의존 플랜을 재컴파일시킴)
Production実行
실행 가능하지만 대상 뷰를 참조하는 처리의 재컴파일이 발생함
-- 対象: SQL Server 2008 以降(リモートサーバー側で実行する)
-- 権限: リモート側で対象ビューへの ALTER 権限
-- 変更作業: あり(ビューのメタデータ再生成・依存プランの再コンパイル)
-- Production 実行: 可能。ただし再コンパイルが発生するため時間帯を選ぶこと
USE [SampleDB];
GO
-- 基になるテーブルの列変更に追随できていないビューを再整合させる
EXEC sys.sp_refreshview N'dbo.SampleView';
GO

-- 影響を受けそうなビューを洗い出す(参照のみ)
SELECT
    SCHEMA_NAME(v.schema_id) AS schema_name,
    v.name                   AS view_name,
    v.modify_date
FROM sys.views AS v
WHERE v.is_ms_shipped = 0
ORDER BY v.modify_date DESC;

원격 쪽 뷰가 기반 테이블의 열 변경(타입 변경·열 추가)을 따라가지 못하고 있는 상태가 Msg 7356의 대표적인 원인입니다. `SELECT *`를 포함한 뷰는 특히 어긋나기 쉽습니다. 이 대응이 유효한지는 원격 쪽에 열 정의 변경 이력이 있는지로 판단하십시오.

원격 프로시저 쪽에서 SET NOCOUNT ON을 설정
対象
SQL Server 2008 이후(원격 서버 쪽에서 실행)
権限
원격 쪽에서 대상 프로시저에 대한 ALTER 권한
変更作業
있음(저장 프로시저의 정의 변경)
Production実行
변경 관리 절차에 따라 적용할 것
-- 対象: SQL Server 2008 以降(リモートサーバー側で実行する)
-- 権限: リモート側で対象プロシージャへの ALTER 権限
-- 変更作業: あり(ストアドプロシージャの定義変更)
-- Production 実行: 変更管理の手順に従うこと
USE [SampleDB];
GO
ALTER PROCEDURE dbo.SampleProcedure
AS
BEGIN
    -- 行カウントメッセージが余分な結果として扱われるのを防ぐ
    SET NOCOUNT ON;

    SELECT col1, col2
    FROM dbo.SampleTable
    WHERE col1 > 0;
END;

링크 서버를 통해 프로시저를 호출하는 경우, 행 수 메시지가 여분의 결과 세트로 취급되어 결과 세트 구조 파악을 방해하는 경우가 있습니다. `SET NOCOUNT ON`은 일반적인 권장 사항이며, 7356의 직접적인 원인은 아닐 수 있습니다. "시도해서 개선되는지 확인"하는 대응으로 취급하십시오.

링크 서버 옵션 변경(대상 링크 서버에 영향)
対象
SQL Server 2008 이후
権限
ALTER ANY LINKED SERVER 또는 sysadmin
変更作業
있음(대상 링크 서버를 통한 쿼리 전체의 동작이 바뀜)
Production実行
실행 가능하지만 해당 링크 서버를 사용하는 모든 처리에 영향
-- 対象: SQL Server 2008 以降
-- 権限: ALTER ANY LINKED SERVER または sysadmin
-- 変更作業: あり(対象リンクサーバー経由の全クエリに影響)
-- Production 実行: 可能。ただし影響範囲は当該リンクサーバー全体
-- EXEC ... AT を使うために必要
EXEC sp_serveroption @server = N'LEGACY-SQL01', @optname = N'rpc out', @optvalue = N'true';

-- スキーマ検証の遅延(コンパイル時のスキーマ確認を省く)
-- 効果は環境依存。検証環境で挙動を確認してから適用すること
EXEC sp_serveroption @server = N'LEGACY-SQL01', @optname = N'lazy schema validation', @optvalue = N'true';

-- 変更結果の確認
SELECT name, is_rpc_out_enabled, lazy_schema_validation
FROM sys.servers
WHERE name = N'LEGACY-SQL01';

`lazy schema validation`은 컴파일 시점의 스키마 검증을 생략하는 옵션입니다. 스키마 변경에서 기인하는 오류 전반에 대해 검토되는 설정이지만, Msg 7356에 효과가 있는지는 원인에 따라 다릅니다. 검증 환경에서 효과를 확인한 후 적용하는 가설적 대응으로 취급하십시오.

OLE DB 프로바이더 옵션 변경(인스턴스 전체에 영향)
対象
SQL Server 2008 이후
権限
sysadmin
変更作業
있음(같은 프로바이더를 사용하는 모든 링크 서버에 영향)
Production実行
원칙적으로 불가. 검증 환경에서의 확인과 영향 범위에 대한 합의가 전제
-- 対象: SQL Server 2008 以降
-- 権限: sysadmin
-- 変更作業: あり(同じプロバイダーを使うインスタンス上の全リンクサーバーに影響)
-- Production 実行: 原則不可。検証環境で確認し、影響範囲の合意を得てから実施すること
-- プロバイダー名は sys.servers の provider 列で確認した値を使う
EXEC master.dbo.sp_MSset_oledb_prop N'MSOLEDBSQL', N'AllowInProcess',      1;
EXEC master.dbo.sp_MSset_oledb_prop N'MSOLEDBSQL', N'DynamicParameters',   1;

프로바이더 옵션은 인스턴스상에서 같은 프로바이더를 사용하는 모든 링크 서버에 영향을 줍니다. 설정에 따라 SQL Server 서비스 재시작이 필요할 수 있으므로 적용 전에 대상 환경에서의 동작을 확인하십시오. 변경 전 값을 기록해 두고 롤백 가능한 상태로 만든 후 실시합니다.

結果の読み方

意味確認するポイント
provider사용 중인 OLE DB 프로바이더 이름오래된 프로바이더(SQLNCLI 계열)를 계속 사용하고 있지 않은지
product링크 대상 제품 이름SQL Server 이외의 이종 데이터 소스인지 여부. 이종 프로바이더는 메타데이터 반환 방식이 다름
data_source연결 대상의도한 서버/인스턴스를 가리키는지
is_rpc_out_enabledRPC OUT이 활성화되어 있는지`EXEC ... AT`를 사용하려면 1이어야 함
is_data_access_enabled분산 쿼리가 허용되어 있는지0이면 4부 구성 이름으로의 접근 자체가 불가능
lazy_schema_validation스키마 검증을 지연시킬지설정 여부가 동작에 영향을 줄 수 있음. 변경할 경우 검증 환경에서 확인
is_collation_compatible / uses_remote_collation정렬 순서 처리문자열 타입의 비교·변환에서 문제가 발생한 경우의 확인 대상
modify_date링크 서버 정의의 최종 수정 일시오류 발생 시기와 설정 변경 시기가 일치하지 않는지

こういう状況で使います

  • 링크 서버를 통한 쿼리에서 Msg 7356 "일관성 없는 메타데이터가 제공되었습니다"가 발생한다
  • 같은 쿼리가 성공할 때도 있고 실패할 때도 있어 재현 조건이 안정적이지 않다
  • 4부 구성 이름으로는 실패하지만 `OPENQUERY`로 바꾸면 성공한다
  • 원격 쪽 뷰나 테이블을 변경한 직후부터 오류가 발생하게 되었다
  • 특정 열(텍스트 계열, 계산 열, 집계 결과 열)을 포함했을 때만 실패한다

考えられる原因(可能性の高い順)

  1. 01

    컴파일 시점과 실행 시점에 프로바이더가 반환하는 메타데이터가 다름

    이것이 Msg 7356의 본질입니다. SQL Server는 분산 쿼리 컴파일 시점에 열의 타입·길이·NULL 허용 여부를 프로바이더에 문의하고, 실행 시점에도 같은 정보를 확인합니다. 양쪽이 일치하지 않으면 이 오류가 발생합니다. 아래는 그 구체적인 패턴입니다.

  2. 02

    원격 쪽 뷰 정의가 기반 테이블의 변경을 따라가지 못함

    `SELECT *`를 포함한 뷰는 기반 테이블의 열 변경 후에도 메타데이터가 오래된 채로 남는 경우가 있습니다. `sp_refreshview`로 재정합시키면 해소되는 경우가 있습니다.

  3. 03

    텍스트 계열·계산 열·식의 결과를 포함함

    `text` / `ntext` / `image` 같은 구형 대형 개체 열이나, 계산 열, 원격 쪽 식으로 생성된 열은 길이나 타입이 확정적으로 반환되지 않는 경우가 있습니다. 원격 쪽에서 명시적으로 캐스트하면 안정됩니다.

  4. 04

    이종 프로바이더가 행마다 메타데이터를 반환함

    SQL Server 이외의 데이터 소스(ODBC를 통한 `MSDASQL` 포함)에서는 행마다 다른 메타데이터를 반환하는 구현이 존재합니다. 이 경우 분산 쿼리가 아니라 패스스루로 처리하는 것이 기본 방침이 됩니다.

  5. 05

    원격 프로시저가 여러 결과 세트나 행 수를 반환함

    저장 프로시저를 호출하는 경우, 행 수 메시지나 조건 분기에 따른 결과 세트의 차이가 구조 파악을 방해하는 경우가 있습니다. `SET NOCOUNT ON`과 결과 세트를 하나로 고정하는 설계가 유효한 경우가 있습니다(대상 환경에서의 확인이 필요한 가설입니다).

  6. 06

    프로바이더 버전이 오래되었거나 혼재되어 있음

    오래된 SQL Server Native Client를 계속 사용하는 환경에서는 현재 프로바이더와 동작이 다를 수 있습니다. 프로바이더 업데이트로 해소되는 경우가 있지만, 업데이트 자체가 다른 연결에도 영향을 주므로 검증이 필요합니다.

確認手順

  1. 1

    링크 서버의 구성과 프로바이더를 확인한다

    参照のみ

    `sys.servers`에서 `provider`, `product`, `is_rpc_out_enabled` 등을 확인합니다. 참조 전용입니다.

  2. 2

    4부 구성 이름으로 재현되는지 확인한다

    参照のみ

    오류가 발생하는 쿼리를 최소화하여 어느 열을 포함했을 때 발생하는지 특정합니다.

  3. 3

    `OPENQUERY`로 바꿔 동작을 비교한다

    参照のみ

    패스스루로 성공한다면 원인이 로컬 쪽 메타데이터 가져오기 단계에 있다고 판단할 수 있습니다.

  4. 4

    문제가 되는 열을 하나씩 제외하여 구분한다

    参照のみ

    특정 열을 제외하면 성공하는 경우, 그 열의 타입·정의(계산 열, 텍스트 계열, 뷰를 통한 것)가 원인입니다.

  5. 5

    원격 쪽 개체 변경 이력을 확인한다

    参照のみ

    `sys.views` / `sys.objects`의 `modify_date`를 확인하여 오류 발생 시기와 일치하는지 봅니다.

  6. 6

    원격 쪽에서 단독 실행하여 성공 여부를 확인한다

    参照のみ

    원격 서버에 직접 연결하여 같은 쿼리를 실행하고, 원격 단독으로는 정상인지 확인합니다.

対応方法

すぐに実施できる低リスクの対応

  • `OPENQUERY` / `EXEC ... AT`로 교체한다

    参照のみ

    원격 쪽에서 쿼리를 실행하고 결과만 받는 형태로 하면 열 메타데이터의 왕복이 줄어듭니다. 설정 변경을 수반하지 않고 영향 범위도 한정되므로 가장 먼저 시도할 대응입니다.

  • 문제의 열을 원격 쪽에서 명시적으로 캐스트한다

    参照のみ

    `CAST(col AS nvarchar(n))`처럼 타입과 길이를 고정하면 반환되는 메타데이터가 안정됩니다.

  • `SELECT *`를 열 지정으로 바꾼다

    参照のみ

    필요한 열만 지정함으로써 문제가 있는 열을 피할 수 있는 경우가 있습니다.

事前検討が必要な変更

  • 원격 쪽 뷰를 재정합시킨다

    `sp_refreshview`로 뷰의 메타데이터를 재생성합니다. 기반 테이블의 열 변경을 따라가지 못하는 경우에 유효합니다.

  • 원격 프로시저에 `SET NOCOUNT ON`을 추가한다

    결과 세트의 구조를 안정시키기 위한 일반적인 대응입니다. 효과는 환경에 따라 다르므로 적용 후 재현되는지 확인하십시오.

  • 구형 대형 개체 열을 현행 타입으로 이전한다

    `text` / `ntext` / `image`를 `varchar(max)` / `nvarchar(max)` / `varbinary(max)`로 이전합니다. 스키마 변경이므로 애플리케이션 쪽 영향 평가가 필요합니다.

  • 프로바이더를 현행 버전으로 업데이트한다

    오래된 SQL Server Native Client에서 현재의 OLE DB 드라이버로 이전합니다. 다른 연결에도 영향을 주므로 검증 환경에서의 확인과 단계적 적용이 전제입니다.

再起動・サービス影響を伴う変更

  • 링크 서버 옵션을 변경한다

    `lazy schema validation` 등의 변경은 해당 링크 서버를 사용하는 모든 처리의 동작에 영향을 줍니다. 효과가 환경에 의존하므로 검증 환경에서의 확인을 전제로 합니다.

  • OLE DB 프로바이더 옵션을 변경한다

    인스턴스상에서 같은 프로바이더를 사용하는 모든 링크 서버에 영향을 주며, 서비스 재시작이 필요할 수 있습니다. 변경 전 값을 기록해 두고 롤백 가능하게 한 후 실시하십시오.

  • 링크 서버 방식 자체를 재검토한다

    専門家レビュー必須

    상시적으로 메타데이터 불일치가 발생하는 이종 데이터 소스에서는 링크 서버가 아니라 ETL/연계 플랫폼을 통하는 방식으로 전환하는 설계 변경이 근본 대책이 됩니다.

!注意事項

  • Msg 7356의 원인은 여러 가지이며, 어느 것이 해당하는지는 환경에 따라 다릅니다. 이 글의 대응 중 `sp_refreshview`, `SET NOCOUNT ON`, `lazy schema validation`은 "시도해서 효과를 확인하는 가설적 대응"이며, 반드시 효과가 있는 것은 아닙니다.
  • `sp_MSset_oledb_prop`에 의한 프로바이더 옵션 변경은 인스턴스상에서 같은 프로바이더를 사용하는 모든 링크 서버에 영향을 줍니다. 설정에 따라 SQL Server 서비스 재시작이 필요할 수 있습니다.
  • `lazy schema validation`을 활성화하면 컴파일 시점의 스키마 검증이 생략됩니다. 스키마 변경에 대한 감지가 늦어질 가능성이 있으므로 부작용을 이해한 후 적용하십시오.
  • 링크 서버의 인증 설정을 변경할 때는 원격 쪽의 로그인 매핑과 권한도 함께 확인하십시오. 인증 관련 변경은 다른 연계 처리를 멈출 수 있습니다.
  • Amazon RDS for SQL Server에서는 링크 서버 사용에 제약이 있습니다. 생성 가능 여부와 지원 프로바이더는 대상 환경에서 확인하십시오.

バージョン・環境による違い

SQL Server 2008 이후메시지 번호 7356과 `sys.servers` / `sp_serveroption` / `sp_refreshview`는 공통으로 사용할 수 있습니다. 프로바이더별 세부 동작 차이는 버전에 따라 다르므로 대상 환경에서의 확인이 필요합니다.
프로바이더 세대SQL Server Native Client(SQLNCLI / SQLNCLI11)는 신규 개발에 권장되지 않습니다. 현재는 Microsoft OLE DB Driver for SQL Server(MSOLEDBSQL / MSOLEDBSQL19)입니다. 이전 시에는 연결 문자열의 기본 동작 차이에도 주의하십시오.
Amazon RDS for SQL Server링크 서버의 생성 가능 여부·사용 가능한 프로바이더는 서비스 사양에 따라 다릅니다(확인 필요).

これで解決しない場合に確認すること

  • 원격 쪽 개체 정의의 변경 이력

    `sys.objects` / `sys.views`의 `modify_date`를 확인하여 오류 발생 시기와의 관련성을 봅니다.

  • 쿼리를 최소 구성까지 줄여 재현 조건을 특정한다

    열을 하나씩 줄여가며 어느 열을 포함했을 때 발생하는지 확정합니다.

  • 원격 쪽의 정렬 순서와 문자열 타입

    정렬 순서가 다른 환경 간에는 문자열 타입 처리에서 별도의 오류가 함께 발생할 수 있습니다.

  • 오류 로그와 링 버퍼

    SQL Server 오류 로그에 같은 시각의 연결 오류나 프로바이더 관련 메시지가 기록되어 있지 않은지 확인합니다.

この文書の根拠と限界

製品の公式ドキュメントに基づく説明

SQL Server의 분산 쿼리, `sys.servers`, `sp_serveroption`, `sp_helpserver`, `sp_linkedservers`, `sp_refreshview`, `OPENQUERY` / `EXEC ... AT`의 공개 사양, 그리고 Msg 7356의 메시지 정의에 기반합니다. 개별 원인 패턴 중 `lazy schema validation`과 `SET NOCOUNT ON`의 효과는 환경에 의존하므로, 확정된 대응이 아니라 검증해야 할 가설로 기술했습니다. 프로바이더 고유의 내부 동작은 대상 환경에서의 확인이 필요합니다.

よくある質問

Msg 7356의 원인은 무엇입니까?

분산 쿼리의 컴파일 시점에 프로바이더가 반환한 열 메타데이터와, 실행 시점에 반환한 메타데이터가 일치하지 않음을 나타내는 오류입니다. 원격 쪽 뷰 정의가 기반 테이블의 변경을 따라가지 못하는 경우, 텍스트 계열이나 계산 열을 포함하는 경우, 이종 프로바이더가 행마다 메타데이터를 반환하는 경우 등이 전형적입니다.

OPENQUERY로 바꾸면 항상 해결됩니까?

많은 경우 효과가 있지만 항상 해결된다고는 할 수 없습니다. 패스스루에서는 원격 쪽이 쿼리를 실행하고 결과만 반환하므로 메타데이터의 왕복이 줄어듭니다. 다만 이종 프로바이더의 구현에 따라서는 패스스루에서도 같은 종류의 오류가 발생할 수 있습니다.

운영 환경에서 실행할 수 있습니까?

`sys.servers` 확인, `OPENQUERY`로의 교체, 명시적 캐스트는 모두 참조 전용이며 운영 환경에서 실행할 수 있습니다. `sp_refreshview`는 뷰를 참조하는 처리의 재컴파일을 수반하고, `sp_serveroption`과 `sp_MSset_oledb_prop`은 영향 범위가 넓으므로 검증 환경에서의 확인을 전제로 하십시오.

어떤 권한이 필요합니까?

설정 확인에는 VIEW ANY DEFINITION 또는 sysadmin이 필요합니다. 링크 서버 옵션 변경에는 ALTER ANY LINKED SERVER 또는 sysadmin, 프로바이더 옵션 변경에는 sysadmin이 필요합니다. `sp_refreshview`는 원격 쪽에서 대상 뷰에 대한 ALTER 권한이 필요합니다.

AWS RDS에서도 사용할 수 있습니까?

Amazon RDS for SQL Server에서는 링크 서버 사용에 제약이 있습니다. 생성 가능 여부, 지원 프로바이더, 실행할 수 있는 저장 프로시저의 범위는 서비스 사양에 따라 다르므로 대상 환경에서 확인하십시오.

결과를 어떻게 판단합니까?

먼저 4부 구성 이름으로 재현하고, `OPENQUERY`로는 성공하는 것을 확인할 수 있다면 로컬 쪽 메타데이터 가져오기 단계가 원인이라고 판단할 수 있습니다. 그런 다음 열을 하나씩 제외하여 문제의 열을 특정하고, 원격 쪽 정의 변경 이력과 대조하십시오.

この文書がカバーする質問

  • 링크 서버를 통한 쿼리에서 메타데이터 오류가 발생한다
  • 4부 구성 이름으로는 실패하지만 OPENQUERY면 성공하는 이유를 알고 싶다
  • 링크 서버의 프로바이더 설정을 확인하고 싶다

リスク表示の意味

  • 参照のみデータと設定を変更しません。
  • 影響は限定的ですが、権限と負荷の確認が必要です。
  • 性能・ロック・コストに影響する可能性があります。
  • 障害・データ損失・復旧作業が発生する可能性があります。
  • 専門家レビュー必須本番適用前に別途レビューが必須です。

GIIPの対応範囲

링크 서버를 통한 오류는 원인이 로컬 쪽·원격 쪽·프로바이더 중 어디에 있는지 구분하기 어렵고, 게다가 재현 조건이 안정적이지 않은 경우가 많은 종류의 장애입니다. GIIP에서는 여러 시스템에 걸친 연계에 대해 어느 서버의 어느 개체가 언제 변경되었는지를 시계열로 보관하여, 오류 발생 시기와 대조할 수 있는 상태로 만들고 있습니다. 프로바이더 옵션처럼 인스턴스 전체에 영향을 주는 변경은 자동화 대상에서 제외하고, 구분과 영향 범위 제시까지를 담당합니다.

執筆・技術検証

GIIP プロダクション運用チーム

大規模Webサービス、SQL Server、Oracle、AWS、Azureの設計・移行・運用に約30年従事。x12largeクラスのAWS RDS for SQL Server環境12セット、約12万テーブルのOracle環境、約3TBのTiDBからAurora MySQLへの移行を経験。現在も複数のクラウドデータベースと約30のWebサービスを、AIエージェントと人間の専門家が継続的に監視・運用しています。

関連するナレッジ

関連サービス

링크 서버 장애 구분을 요청하기

同じ確認を複数の環境で継続する必要がある場合は、運用体制ごと相談できます。

링크 서버 장애 구분을 요청하기

ナレッジベース一覧へ