분산 쿼리 사용에 대한 지침
업데이트: 2006년 7월 17일
공급자가 필수 OLE DB 인터페이스를 지원하면 이 항목에 설명되는 각 Transact-SQL 문 클래스도 허용됩니다.
Transact-SQL 문
다음은 연결된 서버 기반 이름 또는 임시 이름을 통해 액세스되는 원격 테이블에서 허용되는 Transact-SQL 언어의 하위 집합 목록입니다.
- SELECT select_list FROM 절 WHERE 절과 같은 표준 형식을 포함하는 모든 쿼리가 허용됩니다. new_table_name이 원격 테이블을 참조할 경우에는 SELECT의 INTO new_table_name 절을 사용할 수 없습니다.
- SELECT, INSERT, UPDATE, DELETE 문에서는 원격 테이블의 열에 단일 부분으로 된 테이블 이름 또는 네 부분으로 된 테이블 이름을 사용할 수 없습니다. 원격 테이블에는 FROM 절에서 별칭이 지정되어야 하고 열 이름을 지정하는 데 별칭 이름이 사용되어야 합니다.
- 쿼리가 테이블의 비 xml 열에 액세스하더라도 xml 열이 있는 테이블은 쿼리할 수 없습니다.
- 원격 테이블의 LOB(Large Object) 열을 SELECT 문의 select_list에 항목으로 지정할 경우에는 SELECT 문에 ORDER BY 절이 포함될 수 없습니다.
- IS NULL과 IS NOT NULL 조건자는 원격 테이블의 LOB 열을 참조할 수 없습니다.
- 쿼리에도 WHERE 절이 있을 때는 분산 쿼리에 GROUP BY ALL을 사용할 수 없습니다. ALL을 지정하지 않고 GROUP BY를 사용하는 것은 허용됩니다.
- 공급자가 INSERT 문에 대한 OLE DB 요구 사항을 충족할 경우에 한해 원격 테이블에 대해 INSERT 문이 허용됩니다. 자세한 내용은 OLE DB 공급자를 위한 INSERT 요구 사항을 참조하십시오.
- NULL 상수는 분산 쿼리를 통해 timestamp 열에 삽입할 수 없습니다.
- $IDENTITY 및 $ROWGUIDCOL은 분산 쿼리에 지원되지 않습니다. 명시적 값은 원격 테이블에 있는 ID 열에 삽입할 수 없습니다.
- 공급자가 지정된 테이블에 대한 OLE DB 인터페이스 요구 사항을 충족하면 원격 테이블에 대해 UPDATE 및 DELETE 문이 허용됩니다. 자세한 내용은 OLE DB 공급자를 위한 UPDATE 및 DELETE 요구 사항을 참조하십시오.
- 공급자가 원격 테이블에 대한 업데이트 가능성 조건을 충족하면, 원격 테이블이 UPDATE 또는 DELETE 문(UPDATE 또는 DELETE remote_table WHERE CURRENT OF cursor_name)에 지정될 경우 분산 쿼리에 정의된 커서를 통해 원격 테이블이 업데이트되거나 삭제될 수 있습니다. 자세한 내용은 분산 쿼리에서 커서 사용을 참조하십시오.
- READTEXT, WRITETEXT, UPDATETEXT 문은 원격 테이블에 대해 지원되지 않습니다.
- 큰 개체 데이터 형식(예: text, ntext 또는 image)을 포함하는 열은 공급자가 SQL Server 프로세스 외부에서 인스턴스화되고 공급자 옵션 AllowInProcess가 0인 경우 업데이트 또는 삽입 작업에서 참조될 수 없습니다. 자세한 내용은 분산 쿼리를 위한 OLE DB 공급자 구성을 참조하십시오.
- CREATE, ALTER 또는 DROP 문과 같은 데이터 정의 언어 문은 연결된 서버에 대해 사용할 수 없습니다.
- 통과 명령을 지정하는 EXECUTE 문은 연결된 서버에 대해 지원됩니다. 이 문을 사용하면 SQL Server 이외의 공급자에 대해 저장 프로시저를 실행할 수 있습니다.
- 다른 데이터베이스 수준의 작업이나 문은 연결된 서버에서 사용할 수 없습니다.
기타 지침
다음은 추가 제한 사항 및 지침입니다.
- STATIC 또는 INSENSITIVE 커서는 원격 테이블을 참조할 수 있습니다. OLE DB 공급자가 특정 요구 사항을 충족하면 KEYSET 커서가 원격 테이블을 참조할 수 있습니다. 이러한 요구 사항에 대한 자세한 내용은 OLE DB 공급자의 키 집합 커서 요구 사항을 참조하십시오. 기타 다른 유형의 커서는 원격 테이블을 참조할 수 없습니다.
- 저장 프로시저는 SQL Server 데이터 원본에 대해서만 지원됩니다.
- 연결에서 분산 쿼리를 실행하기 전에 연결에 ANSI_NULLS 및 ANSI_WARNINGS 옵션이 ON으로 설정되어 있어야 합니다. 자세한 내용은 SET ANSI_DEFAULTS(Transact-SQL)를 참조하십시오.
참고 항목
개념
트랜잭션에 분산 쿼리 사용
분산 쿼리에 데이터 형식 매핑
분산 쿼리
관련 자료
SELECT(Transact-SQL)
EXECUTE(Transact-SQL)
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 7월 17일 |
|