SQL Server 2005: совместное использование процессоров несколькими распределенными экземплярами
У меня есть два экземпляра SQL Server 2005 Standard Edition, работающих на двух отдельных выделенных серверах (назовем их DB1 и DB2). На данный момент DB1 очень занят, а DB2 в основном простаивает. Можно ли настроить экземпляр, работающий на DB1, на использование процессора в DB2?
Например, я подключаюсь к DB1 и выполняю sp-heavy-go, и мне бы хотелось, чтобы DB1 обработал этот запрос с использованием процессора DB2. Каков наилучший способ добиться этого?
1 ответ
Краткий ответ: нет. Длинный ответ: да, вроде. Если вы тратите кучу времени на то, чтобы убедиться, что ваша база данных и приложение настроены для этого.
Если бы вы должны были разместить одну и ту же базу данных на обоих серверах и использовать репликацию SQL, чтобы обеспечить синхронизацию между ними баз данных, вы могли бы установить балансировщик нагрузки перед серверами SQL и подключить клиентов к балансировщику нагрузки вместо один SQL Server. Однако это создает свой собственный набор проблем, которые необходимо решить в первую очередь.
Лучшим вариантом может быть интеграция вашей базы данных, чтобы половина данных хранилась на каждом сервере, а данные запрашивались с сервера, на котором хранятся эти данные. Однако, это также чрезвычайно сложная вещь для правильной настройки.
Правильно ли настроена база данных, чтобы все индексы создавались в наилучшей возможной настройке?