나는 링크 된 서버 ODBC 연결에 대한 연결을 제어하는 방법에 대한 답변을 Google과 Google을 통해 찾으려고했습니다. 개요SQL 서버 연결된 서버 MySQL에 "너무 많은 연결"
나는 우리의 데이터웨어 하우스에 대한 데이터를 추출하는 목적을 위해 MySQL로 SQL 서버 2014에서 연결된 서버를 가지고있다. 나는 문제없이 데이터베이스를 꽤 자주 질의했다. 어제 갑자기 테이블에서 읽는 쿼리가 느리고이 MySQL 데이터베이스를 사용하는 응용 프로그램이 "너무 많은 연결"오류가 발생한다는 보고서를받습니다.
세부
다음 쿼리는 SQL Server 테이블에 MySQL과 삽입에서 데이터를 선택합니다.
INSERT INTO tmpCustomers
(fieldlist)
SELECT
myc.contact_id,
myl.franchise_id,
myl.lead_source,
LEFT(RTRIM(myc.first_name) + ' ' + RTRIM(myc.last_name),100) AS Name,
myc.first_name,
myc.last_name,
myc.company,
myc.Email,
myc.primary_phone,
myc.home_phone,
myc.mobile_phone,
myc.work_phone,
myc.fax,
myc.address1,
myc.Address2,
myc.City,
myc.[state],
myc.zip_code,
myc.created_date,
myc.updated_date
FROM [MYSQLDB]...[franchise] myf
INNER JOIN [MYSQLDB]...[leads] myl
ON myl.franchise_id = myf.franchise_id
INNER JOIN [MYSQLDBE]...[contact] myc
ON myc.contact_id = myl.contact_id
이 쿼리는 약 200,000 행의 데이터를 반환하며 커집니다. MySQL 데이터베이스는 고객 기반에서 사용되며 데이터웨어 하우스에 데이터를 가져 오는 백 엔드 프로세스입니다.
어제까지 MySQL의 지원이 MySQL 서버를 두 번 다시 시작하게하는 쿼리가 지난 주 테스트를 통해 문제없이 작동했습니다.
ODBC 설정은 "mysql-connector-odbc-5.3.6-win64.msi"버전을 사용하여 수행되었습니다. 연결 수를 제한하는 설정이 없습니다. ODBC는 "Allow multiple statements"를 보여 주지만, 그렇지 않습니다. 또한 "자동 재 연결 사용"기능이있어 단일 쿼리가 필요한 이유를 알 수 없습니다.
요약
내가 연결하는 고객을 중지하고 가져 오기를 수행 할 때 너무 많은 연결을 사용하는 프로세스를 중지해야 여유가 없다.
위의 내용은 크게 감사하겠습니다.
감사
KDS
는업데이트 : 2016 10 월은-05
AWS 서버 - M3.xlarge 4 CPU 15 지브 2 (40) 지브 SSD는 드라이브
감사
. SQL 서버에서 작업하고 실제로 MySQL에서는 작동하지 않습니다. 이것은 데이터를 가져 오는 첫 번째 프로젝트입니다. MySQL Workbench> 관리> 클라이언트 연결은 "연결 제한": 250을 보여줍니다. 타사는 내부적으로 보관되어 있지만이 서버를 관리하고 있습니다. 동일한 서버의 다른 데이터베이스에 데이터베이스를 복사하고 연결하는 것이 좋습니다. 그것은 여전히 서버에서 연결을 사용하는 것 같습니다. 서버 레벨 또는 데이터베이스 레벨 연결입니까? – KDS
그것은 서버 수준 연결이며, MySQL은 스키마 수준에서 작동하지 않습니다. 분당 실행되는 쿼리 수입니다. 또한 "show processlist"in MySQL – khalid
감사합니다 khalid 나는 그 액세스 권한을 얻으려고하고 있습니다. "show processlist"를 실행하면 다른 사람들이 아닌 내 연결 만 볼 수 있습니다. 나는 좀 더 나은 접근을 얻 자마자 질문을 업데이트 할 것이다. 위의 내 문법적 오타도 용서하십시오. "그들의 * 제안 ..."은 내가 의미했던 것입니다. – KDS