You need many licenses to install a SQL Server-based Microsoft Cluster Server (MSCS) implementation. MSCS requires two fully licensed nodes of Windows NT Server 4.0, Enterprise Edition and two fully licensed copies of SQL Server 6.5 or 7.0, Enterprise Edition. You need two SQL Server licenses even if you're running only one instance of SQL Server at a time in active-passive mode.
You also need SQL Server Client Access Licenses (CALs). You must license your SQL Server clients for both nodes of the cluster, even if you're running only one node at a time in the active-passive mode. When your environment uses per server licenses, MSCS doesn't transfer CALs from one node to the other in the event of a failover. As a result, you need to purchase separate CALs for each node, even if clients connect only to one virtual server. However, per seat licensing is not affected by a cluster.
You might even need an NT CAL for each SQL Server client, depending on which NetLib you use to connect to SQL Server. If you're using named pipes, you need an NT CAL because NT authenticates these connections directly. If you're using TCP/IP sockets, you don't need an NT CAL because NT doesn't authenticate these connections.
All the various licenses can become a budgeting problem. For example, suppose you want 50 users to connect to an active-passive SQL Server cluster that uses named pipes. To support this configuration, you need to purchase two licenses for NT 4.0 Server, two licenses for SQL Server, 100 SQL Server CALs (50 for each node), and 100 NT CALs (50 for each node).