SQL Server 2005/2008 licencjonowany w modelu „per procesor”. Jak liczyć procesory?


Pisałem już o licencjonowaniu SQL Server Standard, w przypadku zakupu licencji "per processor.". Wydawało by się, że sprawa jest prosta. Jednak ważny jest sposób liczenia procesorów. Mówiłem o tym na swojej licencji na MTS 2009 (przy okazji dziękuję wszystkim który poświęcili swój czas i zechcieli wysłuchać moich sesji. Na podstawie wstępnych wyników ankiet widzę, że się całkiem te sesje podobały).

Zacznijmy od początku, czyli tego co mówi EULA:

You must first determine the number of software licenses you need. The total number of software licenses required for a server equals the sum of the software licenses required under (A) and (B) below.

(A) To run instances of the server software in the physical operating system environment on a server, you need a software license for each physical processor that the physical operating system environment uses.

(B) To run instances of the server software in virtual operating system environments on a server, you need a software license for each virtual processor that each of those virtual operating system environments uses. If a virtual operating system environment uses a fraction of a virtual processor, the fraction counts as a full virtual processor.

Czyli, aby dowiedzieć się ile licencji procesorowych potrzebujesz, musisz zsumować: (a) ilość procesorów fizycznych dostępnych dla systemu operacyjnego na którym chodzi SQL w środowisku fizycznym i (b) ilość procesorów wirtualnych dostępnych dla systemu operacyjnego (systemów operacyjnych) na których chodzi SQL w środowisku (lub środowiskach) wirtualnym.

Zwróć uwagę, że EULA mówi o ilości procesorów (fizycznych lub wirtualnych) dostępnych dla systemu operacyjnego a nie SQL Server. Oznacza to, że jeżeli system operacyjny wykorzystuje 2 procesory, a Ty skonfigurowałeś SQL Server, aby korzystał z jednego procesora, to dalej musisz zakupić licencje na 2 procesory.

Pamiętaj również, że EULA mówi, o tym, że zakłada sie, że procesor wirtualny, ma tyle samo rdzeni co fizyczny. To ważne założenie.

Wyobraź sobie, że masz maszynę 1 procesorową z 2 rdzeniami. W Menedżerze zadań, na maszynie fizycznej będzie to wyglądało jak na rysunku poniżej.

Mamy tutaj jeden procesor fizyczny, więc dla SQL Server pracującego w środowisku fizycznym potrzebujemy 1 licencję procesorową. Zgodnie z podanym w EULA wzorem A=1, B=0; A+B = 1.

Na tym serwerze możemy skonfigurować Hyper-V lub inne środowisko wirtualizacyjne. Wtedy będziemy mogli do jednej maszyny wirtualnej, przydzielić 2 procesory wirtualne (każdy rdzeń będzie wyglądał dla technologii wirtualizacyjnej jako 1 procesor wirtualny – patrz rysunek poniżej)

Jeżeli teraz nie zainstalujemy SQL Server w środowisku fizycznym, lecz w jednym środowisku wirtualnym skonfigurowanym do używania 2 procesorów wirtualnych to będziemy potrzebowali juz 2 licencje procesorowe. A=0, B=2; A+B = 2.

Dodatkowe możliwe sytuacje związane z licencjonowaniem SQL Server w środowisku wirtualnym podam w kolejnym artykule.

Reklamy
Ten wpis został opublikowany w kategorii Licencjonowanie. Dodaj zakładkę do bezpośredniego odnośnika.

8 odpowiedzi na „SQL Server 2005/2008 licencjonowany w modelu „per procesor”. Jak liczyć procesory?

  1. Michal pisze:

    Witaj,

    mam jednak problem (po przestudiowaniu EULA i innych skróconych opisów licencjonowania SQL 2008 srv std w srodowisku VOSE. Dysonans 🙂 Prosta sytuacja ws ktorej potrzebuje porady: serwer fizyczny Win std 2008, dwuprocesorowy, kazdy procesor po 8 corów. Na tym uruchomiony VMWare, a dalej wirtualny Win 2008 Std. Na tym wirtualnym WIn 2008 std serwerze (widzi 8 procesorów virtualnych) stoi SQL 2008 Std. Pytanie – ile licencji trzeba zakupić dla SQL? Oczywiście licencjonowanie per processor.
    Wg Twojego przykładu: „Jeżeli teraz nie zainstalujemy SQL Server w środowisku fizycznym, lecz w jednym środowisku wirtualnym skonfigurowanym do używania 2 procesorów wirtualnych to będziemy potrzebowali juz 2 licencje procesorowe. A=0, B=2; A+B = 2.” – 8 ? W przykładzie moim uzywamy 8 procesorów wirtualnych (mimo że sql „widzi” 1) potrzebne są 8 licencji , by być zgodnym licencyjnie. A=0; B=8; A+B=8 ???
    Według kalkulacji: file:///C:/Users/Home/Downloads/SQLServer2008_LicensingGuide.pdf – tylko jedną licencje nalezy zakupić, bo tam wzór jest inny: A=8; B=8; A/B=1
    A jak jest rzeczywiście? Króty wzór, czy, może jaka intepretacja jest poprawna?

    Z góry dzieki.
    P

  2. Michal pisze:

    SQL Srv 2008

  3. Michal pisze:

    Jest jeszcze jedna interpretacja by Asseco Poland, która mówi: Aby móc uruchamiać oprogramowanie SQL Server 2008 R2 Standard w modelu licencjonowania na procesor w wirtualnych środowiskach systemu operacyjnego, każdy procesor wirtualny musi być licencjonowany niezależenie. Jeżeli nie będą licencjonowane wszystkie procesory fizyczne znaczenie ma liczba procesorów wirtualnych obsługujących każde wirtualne środowisko systemu operacyjnego (dzielna) oraz liczbę rdzeni na jeden procesor fizyczny (dzielnik). Ilość potrzebnych licencji procesorowych to iloraz tych dwóch liczb.

    W moim przypadku wychodzi, ze potrzebuję 2 licencji na SQL wg ww interpretacji, ponieważ: liczba procesorów wirtualnych w VOSE (dzielna) – 8, liczba rdzeni na jeden procesor POSE – 4 (dzielnik) . Iloraz z tego to 2.
    Pomocy!
    😛

    • Michal pisze:

      Tu pomyłka, liczba rdzeni na procesor w POSE – 8. Więc ostatecznie 1 licencja wychodzi wg tej interpretacji.

  4. Michal pisze:

    Dobrze by było wiedzieć ile SQL potrzebuje licencji w tym konkretnym przypadku: 1, 2 czy 8 ?
    Oto jest pytanie 🙂

  5. Sebastian Wilczewski pisze:

    1 licencję SQL Server 2008 Standard

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

w

Connecting to %s