Microsoft 인덱싱 서비스 OLE DB 공급자
Microsoft Windows 2000 및 Windows Server 2003에는 Microsoft 인터넷 정보 서비스(IIS)와 Microsoft 인덱싱 서비스가 포함되어 있습니다. 이러한 서비스를 통해 속성을 기준으로 파일을 필터링하고 파일 데이터에 대해 전체 텍스트 인덱싱 및 검색을 수행할 수 있습니다.
인덱싱 서비스에는 Microsoft 인덱싱 서비스 Microsoft OLE DB 공급자도 포함됩니다. 이 공급자를 사용하여 데이터베이스 파일이 아닌 파일에서 전체 텍스트 검색 또는 속성 값 검색을 수행할 수 있습니다. sp_addlinkedserver를 사용하여 연결된 서버 정의를 만들 수 있으며 SQL Server Management Studio를 사용하여 보안을 설정할 수 있습니다. 그러면 분산 쿼리가 인덱싱된 정보를 검색하기 위해 공급자를 참조할 수 있습니다.
인덱싱 서비스 전체 텍스트 인덱스를 액세스하기 위해 연결된 서버를 만들려면
인덱싱 서비스를 사용하여 전체 텍스트 인덱스를 만듭니다. 기본적으로 인덱싱 서비스는 default라는 카탈로그를 설치합니다. 자세한 내용은 인덱싱 서비스 설명서를 참조하십시오.
MSIDXS를 provider_name으로 지정하고 전체 텍스트 인덱스의 이름을 data_source로 지정하는 sp_addlinkedserver를 실행하여 연결된 서버를 만듭니다.
예를 들어 Web이라는 전체 텍스트 인덱스에 액세스하는 FTIndexWeb이라는 연결된 서버를 만들려면 다음을 실행하십시오.
sp_addlinkedserver FTIndexWeb, 'Index Server', 'MSIDXS', 'Web'
인덱싱 서비스 클라이언트의 보안 인증은 OLE DB Provider for Microsoft Index Service를 사용하는 프로세스의 Windows 계정을 기반으로 합니다. SQL Server 인증 로그인의 경우 SQL Server 프로세스의 컨텍스트에서 분산 쿼리가 실행됩니다. SQL Server는 대체로 높은 수준의 인증을 갖는 계정에서 실행되므로 인덱싱 서비스에 연결된 서버를 사용하는 SQL Server 인증 사용자는 액세스 권한이 없는 정보에 액세스할 수 있습니다. sysadmin 고정 서버 역할의 멤버는 인덱싱 서비스에 연결된 서버를 사용하는 분산 쿼리를 수행할 권한이 있는 SQL Server 로그인을 엄격히 제어함으로써 이 문제를 해결합니다.
관리자는 먼저 sp_droplinkedsrvlogin을 사용하여 인덱싱 서비스에 연결된 서버에 대한 로그인 매핑을 모두 제거합니다. 예를 들어 다음과 같습니다.
sp_droplinkedsrvlogin FTIndexWeb, NULL
그런 다음 관리자는 sp_addlinkedsrvlogin을 사용하여 개별 로그인에게 연결된 서버에 액세스할 권한을 부여합니다. 예를 들어 다음과 같습니다.
sp_addlinkedsrvlogin FTIndexWeb, true, 'SomeLogin'
이러한 동작을 하려면 SQL Server Management Studio에서 연결된 서버를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 보안 탭을 선택합니다.
데이터베이스에 저장된 데이터의 전체 텍스트 검색을 위해 SQL Server에서 지원되는 전체 텍스트 쿼리 구문과 일치하는 SQL 구문을 사용하면 Transact-SQL 문이 OPENQUERY 함수를 사용하여 인덱싱 서비스에 명령을 보낼 수 있습니다. 인덱싱 서비스에서 지원하는 SQL 전체 텍스트 구문은 Microsoft Developer Network나 인덱싱 서비스 설명서에 있는 Index Server Programmer's Guide에 정의되어 있습니다.