Что я сделал для теста, поскольку моя база данных, над которой я работаю, очень медленная при доступе через Интернет, это:
Я установил SQL Server 2014 с последней версией MSSMS
Я открыл порт на маршрутизаторе и добавил правило в брандмауэр. Кроме того, я включил доступ для IP-адреса в Configuration Manager. Я вижу базу данных из Интернета
Я сделал только одну таблицу с 5 записями, назовем ее tblEmployees с полем индекса
Я запускаю его на своем домашнем компьютере, где ничто не использует Интернет. Соединение на 35 Мбит / с вниз и 3 Мбит / с вверх. Технически без движения
Расстояние от места, где я пытаюсь подключиться к домашнему ПК удаленно, очень мало, менее 100 миль. Tracert, пинг в порядке
Теперь, когда я запускаю SELECT TOP 5 FROM tblEmployees в MSSMS в моей домашней сети, я получаю данные немедленно, но когда я делаю то же самое удаленно с помощью MSSMS (или программы, над которой я работаю, это то же самое), я получаю данные примерно в 6 секунд. Еще хуже для «больших» наборов данных, где «большим» является, например, список из 300 клиентов. Это похоже на несколько килобайт данных, но мне нужно подождать более 10 секунд, чтобы открыть таблицу.
Я читаю об этом, наверное, всю прошлую неделю. AUTO_CLOSE установлен в OFF.
В то же время я запускаю сервер MySQL на том же компьютере, также с доступом в Интернет. Работает быстро. Но SQL Server работает очень медленно. Это означает, что проблема связана с некоторыми настройками SQL Server ... но с каким?
Кажется, что ваша рабочая нагрузка очень чувствительна к задержке в сети (хотя простой SELECT не должен показывать такое поведение).
Для дальнейшей отладки мне нужен сетевой дамп оператора SELECT. Пожалуйста, сделайте следующее: