Ich habe versucht, die Antwort hier und über Google zu finden, wie man Verbindungen für eine Verbindungsserver-ODBC-Verbindung steuert.SQL Server Linked Server zu MySQL "Zu viele Verbindungen"
Übersicht
Ich habe einen Verbindungsserver von SQL Server 2014 zu MySQL für die Zwecke der Daten für unseren Data-Warehouse zu extrahieren. Ich habe die Datenbank einige Male ohne Probleme abgefragt. Dann gestern, plötzlich die Abfrage aus der Tabelle zu lesen ist langsam, und dann bekomme ich Berichte, dass die Anwendung mit dieser MySQL-Datenbank einen "zu viele Verbindungen" Fehler bekommen.
Einzelheiten
Die folgende Abfrage wählt die Daten aus MySQL und Einfügungen in der SQL Server-Tabelle.
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
Diese Abfrage gibt etwa 200.000 Datenzeilen zurück und wird größer. Die MySQL-Datenbank wird von unserer Kundenbasis verwendet, und dies ist ein Back-End-Prozess, um Daten in unser Data Warehouse zu ziehen.
Die Abfrage funktionierte in der letzten Testwoche bis gestern nicht, was dazu führte, dass unsere MySQL-Unterstützung den MySQL-Server zweimal neu startete.
Die ODBC-Konfiguration wurde mit der Version "mysql-connector-odbc-5.3.6-win64.msi" durchgeführt. Ich finde dort keine Einstellungen, um die Anzahl der Verbindungen zu begrenzen. ODBC zeigt "Mehrere Anweisungen zulassen" an, was nicht der Fall ist. Es hat auch "Automatische Wiederverbindung aktivieren", was ich mir nicht vorstellen kann, warum für eine einzelne Abfrage benötigt würde.
Zusammenfassung
Ich kann nicht leisten, Kunden von der Verbindung, zu stoppen und den Prozess deaktivieren müssen zu vielen Verbindungen verwenden, wenn der Import zu tun.
Jede Eingabe auf diesem würde sehr geschätzt werden.
Dank
KDS
Update: 2016-Oct-05
AWS Server - M3.xlarge 4 CPU 15 GiB 2 40 GiB SSD-Laufwerke
ich einige dieser Informationen aus meinem Netzwerk Jungs zu bekommen versuchen. Ich arbeite auf den SQL Servern und nicht wirklich auf MySQL. Dies ist das erste Projekt, das versucht, Daten von ihm zu erhalten. Die MySQL Workbench> Verwaltung> Clientverbindungen zeigt "Verbindungslimit": 250. Ein Drittanbieter verwaltet diesen Server, obwohl er intern untergebracht ist. Es wurde vorgeschlagen, die Datenbank in eine andere Datenbank auf demselben Server zu kopieren und eine Verbindung zu dieser Datenbank herzustellen. Es sieht so aus, als würde es weiterhin Verbindungen vom Server verwenden. Sind sie Verbindungen auf Server- oder Datenbankebene? – KDS
Es handelt sich um Verbindungen auf Serverebene, MySQL arbeitet nicht auf Schemaebene. Wie viele Abfragen werden pro Minute ausgeführt. Überprüfen Sie auch "show processlist" in MySQL – khalid
Danke Khalid Ich arbeite, um diesen Zugang zu bekommen. Wenn ich "show processlist" starte, sehe ich nur meine Verbindungen und nicht die anderer. Ich werde die Frage aktualisieren, sobald ich einen besseren Zugang habe. Verzeihen Sie auch meine grammatikalische Tippfehler oben. "Ihre * Anregung ..." ist, was ich meinte. – KDS