우리는 10 개의 데이터베이스, 각 데이터베이스에 100 개의 서로 다른 스키마, 각 스키마에 10 개의 작은 (~ 50 행) 테이블 중 10 개 (총 10K 테이블)가있을 때 SQL Server 2014에서 테스트를 수행했으며이 모든 데이터베이스에 대해 전체 텍스트 인덱스를 만들었습니다. 이 모든 데이터베이스의 테이블을 동시에.
몇 분 동안 우리는 SQL Server가 모든 연결 ( ADMIN:.
연결 제외 ) 을 수락하지 않는 것을 발견했습니다 . 서버를 다시 시작하면 연결할 수 있지만 언젠가 다시 중단됩니다. 일부 조사 후 우리는이 모든 작업 스레드 소비에 의해 발생되는 것을 발견하고, dm_os_tasks
그리고 dm_os_waiting_tasks
많이 있다는 것을 우리에게 보여 FT_MASTER_MERGE
에서 대기 SUSPENDED
상태입니다. "전체 텍스트가 마스터 병합 작업을 기다리고 있습니다"라고 Google에서 검색했지만 실제 정보가 더 이상 없습니다.
DB 당 하나의 카탈로그, 스키 마당 하나의 카탈로그, 인덱스 당 하나의 카탈로그 등 다른 전체 텍스트 카탈로그 구성을 시도했습니다. 어쨌든 서버는 이러한 모든 일시 중단 된 작업으로 중단됩니다.
대기의 근본 원인은 무엇이며 어떻게 해결 / 완화 할 수 있습니까?
그리고 그러한 대량의 테이블에서 전체 텍스트를 사용하도록 권장하는 방법은 무엇입니까?