Как настроить SQL2000-32bit под Win64bit

Prolog
Дата: 13.09.2006 16:57:34
Собираемся приобрести сервер на 64bit Opteron + Win 2003 64bit + 16Gb RAM.
В связи с чем возникли следующие вопросы.

1. Если установить 32bit SQL 2000 EE, какой максимальный объем памяти ему будет доступен без режимов /PAE и AWE enabled?

2. Поддерживает ли 64bit Win 2003 режим /PAE. Если нет, то как можно SQL-серверу предоставить память свыше 4Gb?

3. Возможно ли поставить на один Win-сервер 4 инстанса 32bit SQL сервер, так чтобы каждому SQL-серверу выделялась своя собственная непересекающаяся область по 4Gb? Позволяет ли это сделать WOW или это можно сделать без нее?
Маннанов Рустем
Дата: 14.09.2006 09:43:52
Есть система на IBM x3950 с WIN2K3 x64. На ней стоит SQL 2K x32.
В системе PAE отключен.
Используется AWE.
SQL может использовать до 64 Гб - точно. Больше не пробовали - нету столько памяти )))).
Copyright
Дата: 14.09.2006 10:20:48
Prolog
Собираемся приобрести сервер на 64bit Opteron + Win 2003 64bit + 16Gb RAM.
В связи с чем возникли следующие вопросы.
...
3. Возможно ли поставить на один Win-сервер 4 инстанса 32bit SQL сервер, так чтобы каждому SQL-серверу выделялась своя собственная непересекающаяся область по 4Gb? Позволяет ли это сделать WOW или это можно сделать без нее?


Ответ на предыдущие вопросы вроде уже есть
По поводу 3-го

http://www.sql.ru/forum/actualthread.aspx?tid=243038&hl=%f0%e0%f1%ef%f0%e5%e4%e5%eb%e5%ed%e8%e5+%ef%e0%ec%ff%f2%e8+instance

Сам на Opteron сервера ни разу не пробовал - что за модель ссылку дайте...

Ну и напишите как между 4 Instance в итоге память поделили

IMHO Практический Результат на Opteron будет чрезвычайно интересен ВСЕМ...
Prolog
Дата: 14.09.2006 12:06:58
Маннанов Рустем
Есть система на IBM x3950 с WIN2K3 x64. На ней стоит SQL 2K x32.
В системе PAE отключен.
Используется AWE.
SQL может использовать до 64 Гб - точно. Больше не пробовали - нету столько памяти )))).
Т.е. в boot.ini нет ни /PAE, ни /3Gb, естественно они не нужны на Win64bit, а для SQL ставим AWE Enabled и он использует память более 4Gb? Т.е. при запуске под WOW, как бы подразумевается, что /PAE включен? Кстати, а можно ли индивидуально настраивать запуск под WOW?
Маннанов Рустем
Дата: 14.09.2006 19:53:34
Нет на PAE ни 3GB. Да и зачем они на 64-х битной системе )))
Чтобы расширить память для SQL 32 bit - только AWE.

Индивидуально как настроить - не представляю. Насколько помню WOW просто "обрезает 64-битные адреса" до 32 бит и все. Как вариант без AWE - использовать SQL 64 бит. IMHO больше никак.
Маннанов Рустем
Дата: 14.09.2006 20:05:53
Кстати ))
Если у вас 16 Гб памяти поставьте W2K3 32-бит. Под ней сиквел может есть 32 Гб памяти - точно. От AWE вряд ли уйдете и на 64 бит, но зато будет работать без WOW.

Говорят что 64-бит сиквел в принципе работает неплохо. Просто не можем мы его ставить из-за приклада требующего обязательно 32 бит. Иначе девелоперы нас съедят. Вследствие чего и имеем такую странную конфигурацию)
SkyWalker
Дата: 15.09.2006 06:14:36
Основное различие между 32 и 64 битной OS - размер виртуального адресного пространства.

x64 bit Win 2003 SP1 - SQL 2000 32 bit
in WOW64 = 4Gb of virtual address space (VAS)

В 32 битной OS максимальный адрес 0xFFFFFFFF (4Gb decimal)
Поэтому мы имеем ограничение в 4Gb.
Адресное пространство делится на kernel (2Gb) и user (2Gb) mode
(например SQL). С 3Gb мы уменьшаем kernel на 1Gb и увеличиваем user mode.
В этом случае пользовательский процесс сможет использовать 3Gb
если он /LARGEADDRESSAWARE.

В 64 битной OS kernel достаточно адресного пространства,
поэтому пользовательский процесс может использовать все 4Gb
(Win 2003 x64 SP1). Пользовательский процесс при этом должен быть
слинкован с /LARGEADDRESSAWARE. 3Gb указывать не надо.

Иными словами каждой инстанс SQL в x64 bit Win 2003 SP1 будет доступно 4Gb виртуального адресного пространства.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devtest_g/hh/DevTest_g/BootIni_de16d3ec-c437-4628-805f-8945ea598a92.xml.asp

On 64-bit versions of Windows Server 2003, the system automatically expands the virtual address space available to 32-bit user-mode programs linked with the /LARGEADDRESSAWARE option as needed without the /3GB boot parameter. On Windows Server 2003 RTM (without Service Pack 1), these 32-bit programs can access up to 3 GB of virtual address space. On Windows Server 2003 with Service Pack 1 and later systems, they can access up to 4 GB of virtual address space. Native 64-bit user-mode programs can access up to 8 TB of virtual address space.

Все вышесказанное не зависит от размера физической памяти.
Если у Вас будет недостаточно физический памяти для покрытия
всего используемого виртуального адресного пространства,
kernel будет интенсивно использовать page swapping.

x64 bit Windows 2003 поддержтвает PAE по умолчанию.
Вам необходимо включить опцию AWE и задать максимальный
размер памяти, доступный SQL Server. SQL Server будет использовать
AWE также как и в 32 битной OS. Kernel не может производить
page swapping с памятью используемой при помощи AWE в SQL 2000.
Поэтому вся память резервируется при старте SQL.
Аналогично в 32 bit Windows 2003.

SQL 2005 с Windows 2003 может резервировать AWE память динамически.

Для расчета памяти используется примерно такая формула:

32 bit:

2Gb VAS = user mode (SQL Server)
MemToLeave = 255 (max worker threads)* 0.5Mb = 128Mb + 256Mb = 384Mb
Buffer Pool (max server memory)= 2Gb - 384Mb ~= 1.6Gb

+ /3GB

Total 1.6Gb + 1Gb = 2.6

Пример с общей физической памятью = 8Gb (без /3GB):

4Gb физической памяти для покрытия 2Gb(VAS kernel)+2Gb(VAS SQL)
Из 2Gb(VAS SQL) Buffer Pool (max server memory) = 1.6

Остается дополнительные 4Gb физической памяти. 1.6 + 4 = 5.6Gb

Тоесть max server memory надо устанавливать 5600

64 bit:

Без AWE:

4Gb VAS = user mode (SQL Server)
MemToLeave = 384Mb
Buffer Pool ~= 3.6 Gb
Михаил Иоссель
Дата: 16.09.2006 21:02:56
Кстати интересно , насколько быстро все это работает .
Кстати инсталяха сервера меня грубо послала "НАХ" , когда я попробовал вкорячить SQL 2000 х32 на WIN2003 х64 под Итаниум. Она сказала , что данная винда не поддерживается.

Вопрос , а лицензия разве не столько же стоит ?? Вроде, один хрен , от процессоров считается.


Когда начинаем экономить - случается волшебство.
Александр Волок (def1983)
Дата: 16.09.2006 23:43:05
Михаил Иоссель
Кстати интересно , насколько быстро все это работает .
Кстати инсталяха сервера меня грубо послала "НАХ" , когда я попробовал вкорячить SQL 2000 х32 на WIN2003 х64 под Итаниум. Она сказала , что данная винда не поддерживается.

Вопрос , а лицензия разве не столько же стоит ?? Вроде, один хрен , от процессоров считается.


Когда начинаем экономить - случается волшебство.


Дело не в лицензии, а в железе... Itanium это "особая" платформа. Под которую, кстати, есть 64-битная версия SQL SERVER 2000, правда, без клиентской части...

wiki
Intel introduced the IA-64 architecture, the basis for its Itanium line of processors. IA-64 provides a backward compatibility for older 32-bit x86 in emulation mode only; however, this mode of operation is exceedingly slow.