MSSQL has built in function to split a string into an array of string. The command is SELECT value FROM STRING_SPLIT(‘your-string’,’separator’).
DECLARE @SENTENCE VARCHAR(MAX) = 'You are my best friend!'
DECLARE @SEPARATOR VARCHAR(1) = ' '
SELECT value FROM STRING_SPLIT(@SENTENCE,@SEPARATOR)

Or we can store the query result into a variable table.
DECLARE @TABLE TABLE(
WORD VARCHAR(50)
)
DECLARE @SENTENCE VARCHAR(MAX) = 'You are my best friend!'
DECLARE @SEPARATOR VARCHAR(1) = ' '
INSERT INTO @TABLE SELECT value FROM STRING_SPLIT(@SENTENCE,@SEPARATOR)
SELECT * FROM @TABLE
