Não há necessidade de ter uma coluna computada para "pesquisar uma tabela" por linhas que correspondam a um ano. Escreva a cláusula where usando um intervalo e tenha um índice em sua coluna de data.
select SomeColumn
from YourTable
where ActivityDate >= '20110101' and
ActivityDate < '20120101'
Se você quiser usar um int (year) como argumento para a consulta em vez de duas strings, você pode usar
dateadd
. Apenas certifique-se de não aplicar nenhuma função/manipulação à coluna ActivityDate porque o SQL Server não poderá usar o índice se você fizer isso. declare @Year int = 2011
select SomeColumn
from YourTable
where ActivityDate >= dateadd(year, @Year-1900, 0) and
ActivityDate < dateadd(year, @Year-1899, 0)