Ricardo - sua pergunta é um pouco enganosa. Existem duas maneiras de lê-lo.
Se você quer dizer bancos de dados dentro de uma instância do SQL Server , você não pode fazer isso com o SQL Server 2005. O SQL Server 2008 introduziu o Administrador de Recursos, que atinge o que você procura, mas não completamente. Pode controlar a memória e a CPU, mas não o disco IO.
Se você quer dizer diferentes instâncias do SQL Server no mesmo computador , então você pode fazê-lo. Cada instância tem suas próprias configurações mínimas e máximas de memória. No SQL Server Management Studio, clique com o botão direito do mouse no nome da instância no Pesquisador de Objetos e clique em Propriedades. A partir daí, você pode definir as memórias mínimas e máximas que cada instância levará. Você também pode definir máscaras de afinidade de CPU, o que permitirá escolher as CPUs que uma instância pode usar. Se você tivesse um servidor quad-core de 2 soquetes (8 no total), poderia atribuir uma instância a dois núcleos específicos e outra a seis núcleos. Infelizmente, se uma das instâncias estiver inativa, a outra instância não poderá tirar proveito desses núcleos ociosos.
Segregar o disco IO entre instâncias fica ainda mais complicado. Você pode usar multipathing de armazenamento para separar o tráfego entre as instâncias, se estiver disposto a dedicar muito tempo ao design e ao pathing de armazenamento. Você pode atribuir dados de uma instância e arquivos de log a uma matriz específica e, em seguida, configurar somente caminhos para essa matriz por meio de adaptadores de barramento de host (HBAs) específicos. Se isso não fizer sentido para você, envolva seu administrador de armazenamento e, se você não tiver um administrador de SAN, será mais trabalho (e dinheiro) do que você deseja resolver.