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