web-dev-qa-db-ja.com

SQL Server CALはどのようにカウントされますか?

可能性のある複製:
ソフトウェアライセンスに関する質問に答えてもらえますか?

SQL Serverを実行するには、私が理解している限り、データベースサーバーに接続するユーザーごとに1つのCALが必要です。

しかし、SQL Serverにアクセスしている唯一のコンピューターがビジネスレイヤーを実行しているサーバーである場合はどうなりますか?
たとえば、SQLサーバーが1つとビジネスロジックサーバーが1つ、クライアントが100人で、すべてビジネスロジックサーバーをクエリして使用する場合。 SQL Serverを直接使用しているクライアントはなく、誰もSQL Serverにアクセスすることはできません。
SQLサーバーを使用しているコンピューターは1台だけなので、CALは1つだけ必要ですか???

これがSQL Serverに必要なCALが1つだけであるとはどういうわけか信じられませんが、その理由を知りたいのですが。

11
Sam

ビジネスロジックサーバーのユーザーごとにCALが必要です。ただし、ユーザーとSQLサーバーの間に直接接続はありません。マイクロソフトでは、お客様が説明するシナリオに「マルチプレキシング」という用語を使用しています。

これはSQL 2005の場合です ですが、他のバージョンでは何も変わらないと思います。

CALは、個別のデバイスまたはユーザーごとに、多重化またはプーリングソフトウェアまたはハードウェアのフロントエンドに必要です。これは、SQL Serverを実行しているサーバーと、最終的にそのデータ、サービス、または機能を使用するクライアントデバイスとの間にハードウェアまたはソフトウェアの層がいくつ存在しても当てはまります。これの例外は、従業員から従業員へのデータの手動転送を含みます。たとえば、従業員がMicrosoft Excelバージョンのレポートを別の従業員に送信する場合、受信する従業員はCALを必要としません。追加の例外は、SQL Serverを実行しているサーバー間の排他的な通信です。

アプリケーションを使用するユーザーはすべて、CALの対象となる必要があります。これには、Excelレポートを生成するためだけに使用する人も、電子メールでこれらのExcelレポートのいずれかのコピーのみを受信する人は含まれません。

Edited to addこれはSQLサーバーライセンスの多くの側面の1つにすぎず、サーバー+ CALライセンスモデルを選択した場合にのみ関係します。すべての代替案について完全に理解したい場合、最終的なドキュメントは Microsoftの63ページのSQL Server 2008ライセンスガイド であり、すべてのライセンスモデルとアプローチをカバーしています。

13
Helvick

Helvickはそれをすべて述べましたが、私はあなたのシナリオではプロセッサライセンスモデルを使用するのが最善である可能性があることを付け加えたいので、サーバーにアクセスする各クライアントではなく、データベースサーバーの各プロセッサに対して支払う必要があります。サーバーに搭載されているコアの数と、プロセッサあたりのルートでトラフィックが増加すると予想される量によっては、コストが低くなる可能性があります。

編集:マイクロソフトごとのプロセッサライセンスは、コアごとではなくプロセッサごとです。したがって、8コアプロセッサを使用している場合でも、シングルチップ/ソケットである限り、ライセンスは1つだけ必要です。 (SQL 2008のホワイトペーパーでは、Oracleなどがコアごとに課金することが多いと言って、実際にセールスポイントになっています。)

7

その上、インターネット向けシステムにはさまざまなライセンスがあるため、ユーザーを制限する必要はありません。これらの場合は、インターネットライセンス(外部ユーザー用)を取得するか、実際にSPLA(サービスプロバイダーライセンス契約)を通じてライセンスを取得します。

特定のケースでは、(要件が正確であれば)正確に100ライセンスが必要になります。

100ユーザー、ただし、SQL Server Expressで実行できる場合は、CALは必要ありません。制限はほとんどのシナリオで非常に問題ありません...多くの場合、データベースごとに4GBはかなり多くあります。

4
TomTom