none
SQL Server 2012 Lizenzierung per Core in einer VM ohne SA? RRS feed

  • Frage

  • Für ein Kunden-Projekt überlege ich einen neuen Mini-Cluster aus zwei Hardware-Servern aufzubauen (VMware vSphere 5 Essentials Plus als Hypervisor, 2x XEON 4C pro Server). Alle Hard- und Software soll dafür neu beschafft werden. Die Anwendungsserver sollen dann darauf in VMs laufen.

    Unter anderem ist eine (einzige) SQL-Server 2012 Standard-Instanz gefragt. Wenn diese Instanz auf Server A läuft und Server A ausfällt soll der Hypervisor die Instanz auf Server B verschieben und weiter laufen lassen.

    Das ganze soll ein Extranet realisieren über das der Kunde Informationen mit (rechtlich eigenständigen) Partner-Unternehmen austauschen will. Die Anlage wird zwischen 100 und 300 Anwender haben (der Kunde muss sich noch entscheiden, wer genau Zugriff auf das System erhalten soll). Da es sich bei den Anwendern um Mitarbeiter verschiedener (rechtlich eigenständiger) Unternehmen handelt (an denen mein Kunde selbst keine Anteile hält) bin ich der Meinung die Anwender können per CAL oder per External Connector lizenziert werden. Da die SQL-Server CALs recht teuer sind denke ich eine "per Core"-Lizenzierung kommt schon bei 100 Anwendern günstiger, bei mehr erst recht.

    Der Kunde wünscht grundsätzlich möglichst keine laufenden Zahlungen und möchte daher auch keine SA erwerben, sondern (einmalig) Lizenzen kaufen. Ich hatte daher an einen Lizenzerwerb über Open Licence gedacht.

    Nun aber die Preisfrage:

    Ohne SA gibt es keine Lizenz-Mobilität. Ich könnte nun beide Hardware-Server komplett lizenzieren, um die VMs abwechselnd auf einem der Knoten laufen lassen zu dürfen. Da ich aber 2 Server mit je zwei Prozessoren und je vier Kernen habe würde ich dafür acht "per Core" Lizenzpakete (also 8xSKU 228-09883 bei OLP C) brauchen. So beschreibt MS das in den Lizenzerläuterungen.

    Da ich aber nur immer genau eine laufende VM-Instanz des SQL-Server im Cluster habe hätte ich noch eine andere Idee (und dazu habe ich nichts von MS gefunden):

    Wenn ich die VM "per Core" lizenziere (*ohne* SA = ohne Lizenz-Mobilität), dann würde ich für die VM auf Server A 2 Core-Lizenzpakete brauchen. Für den Fall, dass der Hypervisor die VM auf Server B verschiebt fehlt mir dort nun die Lizenz. Nun könnte ich doch aber für die VM auf Server B ebenfalls zwei Core-Lizenzpakete kaufen (also nicht die komplette Hardware, sondern nur die VM je einmal auf jedem Knoten lizenzieren).

    Dann käme ich für die gesamte Lösung mit nur vier "per Core"-Lizenzpaketen hin. Ich brauche also nur halb so viele Lizenzen, wie wenn ich die gesamte Hardware lizenziere (deren Leistung hier gar nicht gefragt ist).

    Hat jemand Erfahrung, ob das so (mit vier Core-Lizenzpaketen) lizenzrechtlich in Ordnung ist?

    Freitag, 27. Juli 2012 15:41

Antworten

  • Hallo Alex,

    Lizenzfragen sind immer knifflig und hier noch mehr durch mehrere beteiligten Unternehmen.
    Ich empfehle Dir, Dich direkt mit Microsoft in Verbindung zu setzen.
    Denn hier im Forum wird Dir niemand eine verbindliche Aussage geben können.

    Gruß Elmar

    • Als Antwort markiert Bacom_AlexB Montag, 30. Juli 2012 09:21
    Freitag, 27. Juli 2012 18:57

Alle Antworten

  • Hallo Alex,

    Lizenzfragen sind immer knifflig und hier noch mehr durch mehrere beteiligten Unternehmen.
    Ich empfehle Dir, Dich direkt mit Microsoft in Verbindung zu setzen.
    Denn hier im Forum wird Dir niemand eine verbindliche Aussage geben können.

    Gruß Elmar

    • Als Antwort markiert Bacom_AlexB Montag, 30. Juli 2012 09:21
    Freitag, 27. Juli 2012 18:57
  • Ohne SA gibt es keine Lizenz-Mobilität. Ich könnte nun beide Hardware-Server komplett lizenzieren, um die VMs abwechselnd auf einem der Knoten laufen lassen zu dürfen. Da ich aber 2 Server mit je zwei Prozessoren und je vier Kernen habe würde ich dafür acht "per Core" Lizenzpakete (also 8xSKU 228-09883 bei OLP C) brauchen. So beschreibt MS das in den Lizenzerläuterungen.

    Da ich aber nur immer genau eine laufende VM-Instanz des SQL-Server im Cluster habe hätte ich noch eine andere Idee (und dazu habe ich nichts von MS gefunden):

    Wenn ich die VM "per Core" lizenziere (*ohne* SA = ohne Lizenz-Mobilität), dann würde ich für die VM auf Server A 2 Core-Lizenzpakete brauchen. Für den Fall, dass der Hypervisor die VM auf Server B verschiebt fehlt mir dort nun die Lizenz. Nun könnte ich doch aber für die VM auf Server B ebenfalls zwei Core-Lizenzpakete kaufen (also nicht die komplette Hardware, sondern nur die VM je einmal auf jedem Knoten lizenzieren).

    Dann käme ich für die gesamte Lösung mit nur vier "per Core"-Lizenzpaketen hin. Ich brauche also nur halb so viele Lizenzen, wie wenn ich die gesamte Hardware lizenziere (deren Leistung hier gar nicht gefragt ist).

    Hat jemand Erfahrung, ob das so (mit vier Core-Lizenzpaketen) lizenzrechtlich in Ordnung ist?

    wenn Du SQL Server 2012 Enterprise oder Standard Core Lizenz einer VM zuweist, brauchst Du die VM-Mobilitaet gar nicht, wenn die VM von einem Server zu einem anderen verschoben wird - die Lizenz ist an die VM gebunden und nicht an den Host. Bei SQL Server 2012 Enterprise edition gibt es nur die Core based Lizenzmodel (ausser mit speziellen Lizenzagrements mit Microsoft, bei welcher Enterprise Edition auch unter bestimmten Umstaenden auch anderes erhaeltlich ist)

    Der Verweis auf SA um die VM zu verschieben bezieht sich meiner Meinung nach auf das Server based lizenzierter SQL Server und nicht auf Core based.

    Ueberdies wird bei einer Core based Lizenzierung keine CALs mehr verwendet.

    Durch Beschraenkung der verfuegbaren Cores in der VM, muessen nicht alle physisch vorhanden Cores lizenziert werden sondern nur diejenigen die in der VM sichtbar sind.


    Please use Mark as Answer if my post solved your problem and use Vote As Helpful if a post was useful.



    Freitag, 27. Juli 2012 19:26
  • Habe mit Microsoft telefoniert. Aussage von dort:

    Egal ob "per Core" oder "per CAL" - Lizenzmobilität ist für ein solches Szenario erforderlich (dann braucht man nur eine LIzenz) oder man lizenziert beide(!) physikalischen Server.

    Ohne SA beudetet das: Wenn man zwei Hardware-Server hat benötigt man zwei Lizenzen (so wie wenn man zwei VMs einrichten wollte), auch wenn man nur eine VM hat und die zweite Lizenz nur für den Failover-Fall dient.

    Man kann aber sehr wohl im "per Core"-Modell nur die VMs lizenzieren und nicht die komplette Hardware.

    Im obigen Fall sind in der Folge also nur 2 "per Core" SQL-Server-Lizenzpakete pro physikalischem Server (in der Summe vier) nötig. Damit ist die VM auf beiden Maschinen lizenziert und darf dann beliebig zwischen den Servern verschoben werden. Das ist günstiger als die 8 per Core-Lizenzpakete, die die gesamte Hardware benötigen würde (mit 8 dürfte man aber auch mehr als eine VM fahren - was aber hier nicht benötigt wird).

    Fazit: "per Core" Lizenzen kann man physischer Hardware oder VMs zuweisen. Wenn man sie einer VM zuweist sind sie aber (ohne SA = ohne Lizenzmobilität) an VM und physische Hardware gebunden.


    Alexander Barisic


    Montag, 30. Juli 2012 09:28
  • Am 30.07.2012 11:28, schrieb Bacom_AlexB:

    Habe mit Microsoft telefoniert. Aussage von dort:

    Egal ob "per Core" oder "per CAL" - Lizenzmobilität ist für ein solches Szenario erforderlich (dann braucht man nur eine LIzenz) oder man lizenziert beide(!) physikalischen Server.

    Ohne SA beudetet das: Wenn man zwei Hardware-Server hat benötigt man zwei Lizenzen (so wie wenn man zwei VMs einrichten wollte), auch wenn man nur eine VM hat und die zweite Lizenz nur für den Failover-Fall dient.

    Man kann aber sehr wohl im "per Core"-Modell nur die VMs lizenzieren und nicht die komplette Hardware.

    Im obigen Fall sind in der Folge also nur 2 "per Core" SQL-Server-Lizenzen pro physikalischem Server (in der Summe vier) nötig. Damit ist die VM auf beiden Maschinen lizenziert und darf dann beliebig zwischen den Servern verschoben werden. Das ist günstiger als die 8 per Core-Lizenzen, die die gesamte Hardware benötigen würde (mit 8 dürfte man aber auch mehr als eine VM fahren - was aber hier nicht benötigt wird).

    Fazit: "per Core" Lizenzen kann man physischer Hardware oder VMs zuweisen. Wenn man sie einer VM zuweist sind sie aber (ohne SA = ohne Lizenzmobilität) an VM und physische Hardware gebunden.

    Als ich mit dem Thema bei 2005 und 2008 beschäftigt hatte war ich der Meinung, daß es CPU-Lizenzen gab, welche die Anzahl der Kerne nicht beschränkten.
    1 CPU = 1 Lizenz, egal ob 2 oder 4 Kerne.

    Hat sich dies bei 2012 geändert????

    Lutz

    Dienstag, 31. Juli 2012 09:52
  • Am 30.07.2012 11:28, schrieb Bacom_AlexB:


    Im obigen Fall sind in der Folge also nur 2 "per Core" SQL-Server-Lizenzen pro physikalischem Server (in der Summe vier) nötig. Damit ist die VM auf beiden Maschinen lizenziert und darf dann beliebig zwischen den Servern verschoben werden. Das ist günstiger als die 8 per Core-Lizenzen, die die gesamte Hardware benötigen würde (mit 8 dürfte man aber auch mehr als eine VM fahren - was aber hier nicht benötigt wird).

    Da mich das Core-Thema interessiert hab ich mal nachgeschaut, die Lizensierung hat sich wirklich geändert ...

    Bei future-x habe ich folgende Hinweise gefunden:
    - Zur Lizenzierung eines physischen Servers müssen alle Cores in dem Server lizenziert werden!
    - Zur Lizenzierung eines virtuellen Servers müssen nur die Cores lizenziert werden, die dem virtuellen Server zugewiesen wurden!
    - Für jeden physikalischen Prozessor (CPU) im Server (auch Virtuelle Maschinen) sind jeweils mindestens 4 Core-Lizenzen erforderlich!

    Letzteres würde doch bedeuten, daß du doch 8 Core-Lizenzen brauchst, oder?
    Bei Microsoft finde ich nichts dazu ...
     Lutz

    Dienstag, 31. Juli 2012 10:03
  • 1 CPU = 1 Lizenz, egal ob 2 oder 4 Kerne.

    Hat sich dies bei 2012 geändert????

    Lutz

    Hallo Lutz,

    Oh, ja das hat sich mit dem SQL Server 2012 geändert, da müssen die Cores lizensiert werden; siehe z.B. http://download.microsoft.com/download/7/3/C/73CAD4E0-D0B5-4BE5-AB49-D5B886A5AE00/SQL_Server_2012_Licensing_Reference_Guide.pdf


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Dienstag, 31. Juli 2012 10:04
  • Am 31.07.2012 12:03, schrieb LutzChemnitz:

    Am 30.07.2012 11:28, schrieb Bacom_AlexB:


    Im obigen Fall sind in der Folge also nur 2 "per Core" SQL-Server-Lizenzen pro physikalischem Server (in der Summe vier) nötig. Damit ist die VM auf beiden Maschinen lizenziert und darf dann beliebig zwischen den Servern verschoben werden. Das ist günstiger als die 8 per Core-Lizenzen, die die gesamte Hardware benötigen würde (mit 8 dürfte man aber auch mehr als eine VM fahren - was aber hier nicht benötigt wird).

    Da mich das Core-Thema interessiert hab ich mal nachgeschaut, die Lizensierung hat sich wirklich geändert ...

    Bei future-x habe ich folgende Hinweise gefunden:
    - Zur Lizenzierung eines physischen Servers müssen alle Cores in dem Server lizenziert werden!
    - Zur Lizenzierung eines virtuellen Servers müssen nur die Cores lizenziert werden, die dem virtuellen Server zugewiesen wurden!
    - Für jeden physikalischen Prozessor (CPU) im Server (auch Virtuelle Maschinen) sind jeweils mindestens 4 Core-Lizenzen erforderlich!

    Letzteres würde doch bedeuten, daß du doch 8 Core-Lizenzen brauchst, oder?
    Bei Microsoft finde ich nichts dazu ...

    Zitat aus "SQL Server 2012 Licensing Quick Reference Guide"

    "To license individual VMs using the Per Core model, customers must purchase a core license for each v-core (or virtual processor, virtual CPU, virtual thread) allocated to the VM, subject to a four core license minimum per VM. For licensing purposes, a v-core maps to a hardware thread. When licensing individual VMs, core factors do not apply"

    "... subject to a four core license minimum per VM."
    Es sieht so aus, als brauchst du wirklich mind. 4-Core-Lizenzen für eine VM, zusammen also doch wieder 8!

    Dienstag, 31. Juli 2012 10:18
  • SQL 2008 wurde in der Tat "per CPU" lizenziert. 2012 "per Core" (weil die CPUs zu stark geworden sind und alle anderen Anbieter das schon lange so machen). Hinweis: 2012 Enterprise ging zuerst "per CAL" oder "per Core", seit Juni 12 geht Enterprise aber nur noch "per Core" (hat MS geändert).

    Man kann die komplette Hardware lizenzieren. Dann aber alle (!) Hardware-Cores - auch wenn man nur einige davon für SQL verwendet. Dann kann man auf dieser Hardware (!) beliebig viele VMs fahren. Das ist aber nur für schwache Hardware oder Szenarien mit extrem vielen VMs auf einer Maschine interessant.

    Man kann alternativ auch die VM lizenzieren. Dann muss man nur vCores lizenzieren. Die sind aber an die "OSE" (=VM) und den "hardware thread" gebunden (also die "physikalische Ausführungseinheit" - habe keine sinnvolle deutsche Übersetzung bei MS dafür gesehen).

    Bedeutet: Die VM ist nur auf einem definierten physischen Server lizenziert und darf nicht so einfach hier oder dort ausgeführt werden (das würde man naiv anders erwarten...). Man darf die VM nur einmal alle 90 Tage von einer physischen Hardware auf eine andere physische Hardware verschieben und muss dass dann laut MS auch noch dokumentieren (neue, formale Lizenz-Zuweisung an andere Hardware).

    Ausnahme: Man hat eine gültige (d.h. noch laufende) SA für diesen SQL-Server. Dann darf man die VM (wenn man die vCores in der VM lizenziert hat) beliebig oft von einem physischen Server auf einen anderen verschieben (Microsoft nennt das "Lizenz-Mobillität). Nach Ablauf der SA (wenn man die nicht verlängert) behält man zwar die SQL Nutzungslizenz, verliert aber die Lizenz-Mobillität.

    Wenn man also die vCores in der VM lizenziert kann man sich sparen alle physisch  vorhandenen Kerne in einem Server zu lizenzieren und nur die bezahlen, die der SQL-Server auch nutzen soll.

    Wenn man "per Core" lizenziert (egal ob VM oder Hardware) muss man immer min. 4 Cores lizenzieren. Eine SKU ("ein Stück" bestellbarer Artikel "SQL Server Standard per Core") umfasst aber immer Lizenzen für zwei Kerne. Also z.B. SKU 7NQ-00218 ("SQLSvrStdCore 2012 SNGL OLP C CoreLic" für OLP-C) enthält 2(!) "per Core"-Lizenzen.

    Wenn ich also eine VM lizenziere benötige ich 2x den Artikel "SQL Server Standard per Core" (das entspricht 4 per Core-Lizenzen).

    Wenn ich das ganze auf zwei Servern brauchte (wegen Verfügbarkeit bei Ausfall einer Hardware - das ist ja der Sinn eines Clusters), dann muss ich eben vier mal die SKU bestellen.

    Fazit: Ein einfacher SQL-Server-Standard kostet in so einem Szenario schnell einen deutlich fünfstelligen Betrag. Trost: Bei anderen (z.B. IBM DB2 oder Oracle) ist das in der Tat noch deutlich teurer - wollte ich zuerst auch nicht glauben...


    Alexander Barisic

    Dienstag, 31. Juli 2012 10:42
  • Am 31.07.2012 12:42, schrieb Bacom_AlexB:

    Wenn ich also eine VM lizenziere benötige ich 2x den Artikel "SQL Server Standard per Core" (das entspricht 4 per Core-Lizenzen).

    Wenn ich das ganze auf zwei Servern brauchte (wegen Verfügbarkeit bei Ausfall einer Hardware - das ist ja der Sinn eines Clusters), dann muss ich eben vier mal die SKU bestellen.

    Fazit: Ein einfacher SQL-Server-Standard kostet in so einem Szenario schnell einen deutlich fünfstelligen Betrag. Trost: Bei anderen (z.B. IBM DB2 oder Oracle) ist das in der Tat noch deutlich teurer - wollte ich zuerst auch nicht glauben...

    Aber bei 2008 kommt man ungefähr auf denselben Preis mit 2x 1CPU-Lizenz Standard. Es scheint also zumindest nicht teurer geworden zu sein.

    Wenn es der Anwendungsfall hergegeben hat, habe ich dann auch schon mal zur Workgroup-Edition gegriffen. Die gibt es aber anscheinend nicht mehr bei 2012.
    Bei 2008 könntest du damit unter 10.000 Euro bleiben bei 2 CPU-Lizenzen. Müsstest aber eben mit deren Einschränkungen leben.

    Eine andere Idee wäre, den zweiten SQL-Server als passiven zweiten SQL Server laufen zu lassen. Dann brauchst du doch keine Lizenz dafür, solange er keine anderen Aufgaben übernimmt. (siehe ab Seite 11)
    http://download.microsoft.com/download/6/4/A/64A1EC8F-F575-41E1-9D34-821FA9F98F8E/SQL_Server_2012_Licensing_Reference_Guide.pdf
    Bi mir nicht sicher ob dein Szenario das hergibt!

    Dienstag, 31. Juli 2012 11:15
  • Workgroup Edition (oder andere gekürzte Versionen) wären mir aus der 2012er noch nicht begegnet.

    Der passive Betrieb (als reiner Failover - egal in welcher Konfiguration) benötigt keine Lizenz - korrekt. Aber dafür muss man zwei Windows- und SQL-Instanzen einrichten, komplett durchkonfigurieren, testen (!) und dann zwischen denen den ganzen Firlefanz mit HA (nur Enterprise) oder zumindest Log-Shipping (Standard) auf SQL-Server-Ebene einrichten.

    Bei jeder Änderung an der Konfiguration des Servers heisst es dann wieder beide anpassen und alles erneut testen.

    Das macht ne Menge Arbeit (vor allem ein sinnvoller Test).

    Im vCenter Manager das Häkchen bei "HA" in der VM zu setzen ist da schon ein bisserl weniger Stress :) Dafür muss man dann eben mehr an MS zahlen...


    Alexander Barisic

    Dienstag, 31. Juli 2012 12:38