Isso deve funcionar para as combinações "Nome Sobrenome" e "Nome Nome do Meio Sobrenome".
DECLARE @name AS NVARCHAR(50)
SET @name = 'Firstname Middle Lastname'
SELECT SUBSTRING(@name, 1, 1) + --First initial
SUBSTRING(@name, CHARINDEX(' ', @name) + 1, 1) + --Middle/Last initial
CASE WHEN 0 <> CHARINDEX(' ', @name, CHARINDEX(' ', @name) + 1) -- More than two words
THEN SUBSTRING(@name, CHARINDEX(' ', @name, CHARINDEX(' ', @name) + 1) + 1, 1) --Last initial
ELSE '' --Have to add empty string to avoid NULLing entire result
END
Claro, se os usuários tiverem um espaço em um de seus nomes por algum motivo, você terá um problema ao analisar isso, mas suspeito que esse seria o caso de qualquer maneira ao não armazenar seus nomes em campos separados.