Сначала вам нужно развернуть (создать) SP в вашей целевой базе данных. Если c: \ sp_TEST. sql содержит SQL из sp_TEST, вы просто развертываете его, а не запускаете, и для создания SP не требуются параметры.
-v - для указания sqlcmd параметр, а не параметр SP. Чтобы вызвать SP с данным параметром, вам нужно определить параметр sqlcmd в sql для вызова SP:
sqlcmd -S %SQLInstance% -d %DatabaseName% -l0 -U %BPOUserName% -P %BPOPassword% -Q"EXEC sp_TEST @Username='$(UserName)'" -v UserName="%test1%"
Спасибо @ Jeroen за комментарии. Он также работает без использования переменной sqlcmd:
sqlcmd -S %SQLInstance% -d %DatabaseName% -l0 -U %BPOUserName% -P %BPOPassword% -Q"EXEC sp_TEST @Username='%test1%'"