公司要開發1個系統,想用sql server作為主要資料庫;在安裝sql server的server上有兩支程式,1支負責從sql server讀取資料產生文字檔放在server上,另外1支負責將其他pc傳入至server上的文字檔資料轉入sql server中;系統中還會利用2台pc讓使用者執行一些應用程式,這些程式會讀取server上的文字檔或產生文字檔上傳至server上;
這樣的架構下需要多少個sql的cal
之前和Microsoft詢問SQL Server的CAL授權問題, 我的問題重點是:
我開發一個Web應用, 與SQL Server連線, Web應用中同時只會有一個Session連到SQL Server....
照例說, 是只要給Web Server一個SQL Server CAL就行了, 但Microsoft總公司的回答是...要買CPU授權....
因為, Microsoft的認定是會有多人同時透過Web取得SQL Server的服務, 就算只有一個Session, 但連到Web應用的Client數量可多可少, 所以, 要求購買CPU授權才算取得完整授權...
但由版大的說明, 版大的情況應該是不一樣的狀況......基本上會有一個內建系統帳號執行ExpApp及ImpApp, Client端並不會直接連線SQL Server
版大可以這樣做: 先買5個CAL的基本授權, 因為版大一定要由SSMS登入SQL Server做些管理工作, 5個SQL Server CAL基本授權已經可以應付這個場面.
可是, 因為Server和Client間存在File Sharing, 所以Windows Server CAL就要買足...
simon581923提到:
大可以這樣做: 先買5個CAL的基本授權, 因為版大一定要由SSMS登入SQL Server做些管理工作, 5個SQL Server CAL基本授權已經可以應付這個場面.
原先我也是認為是這樣認定,可是再研究SQL_Server2008_License.pdf檔案中的說明,MS似乎不是用直接連線至SQL SERVER來作為是否需要CAL的判斷;而是以是否使用SQL SERVER的服務來認定;像是文件中的“多工”(multiplexing or pooling),只是這裏要如何認定敝公司系統中
的ImpAp及ExpAp是不是multiplexing or pooling的一種,我已經找遍網路及MS的網站,還是沒看到有關如何界定“多工”的文件.
這個問題,我有請教過M$的業務,即使使用 multi-tier架構,client有多少個,還是得買多少個cal,並不是算 session 數的。
如果是不確定concurrent user 數,請買CPU授權,不然...
另外,有多少SQL Server CAL,Windows CAL 也要相對一樣多的數量。
因為,SQL Server 是 Windows上的一個service,同樣會佔用 Windows CAL。
基本上, 我對版大的系統架構有個問題....
那些ExpApp和ImpApp怎麼啟動的? 是由Client端'指揮'SQL Server執行? 這樣要算CAL.
如果是在SQL Server主機上設定排程定時去看某個目錄下有沒有多出什麼檔案就做ImpApp, 時間到了做ExpApp撈資料產生文字檔放到某個目錄下....這樣, 不用CAL.
版大可以打開SQL Server的活動監視器, 觀察一段時間, 看看有多少不同User帳號登入, 有多少台不同的Client設備登入, 兩者相較取最大值即可. 這個最大值就是要補足的CAL數.
如果是SQL Server Standard版本, 要補足的CAL數超出25, 不如買Server授權.
如果是SQL Server Enterprise版本, 直接買Server授權吧! 會用到Enterprise版本, 公司規模夠用Server授權了.
如果, 在活動監視器上沒看到Client端的連線, 那就買基本的5個CAL的就可以了.
補充外獅佬的說法, Windows Server CAL數一定大於或等於SQL Server CAL數.
多謝simon581923的提示,ExpAPP及ImpApp都不是client去啟動的,而是由server上的排程或是人員手動啟動,這樣說來,敝公司的架構應該就不用cal了
有多少個client 會同時連線使用資料庫,那就是幾個CAL...
先買最小的需求 可以選擇標準版+5cal 若是要做Data Cluster,就買Enterprise
版本,以後再補License,就看你的決定,祝你成功
MS對於SQL連線數的推認角度非常廣,只要你的使用者電腦有可能會從SQL上存取資料就算..
除非你非常確定你的使用者電腦完全只有以文字檔和Fileserver作離線式的批次存取,
不會和SQL有任何牽連,否則PC只要有利用到SQL的資源,就要算一個CAL.
同意wiselou所說的
之前因為要寫某些ASP程式,還特定去請教過M$。
得到的答案也是類似於這樣子,只能說,M$不愧是M$啊...