Объекты параметров SQL Server всегда защищены от внедрения SQL, за исключением динамического SQL на стороне сервера с использованием значений параметров.Это связано с тем, что параметризованные запросы выполняются как вызов RPC по протоколу TDS .Значения параметров передаются отдельно от оператора в собственном формате и не анализируются сервером как SQL.Поскольку значения параметров не анализируются как элементы языка SQL, эти значения не могут быть выполнены, и уязвимости SQL-инъекций не существует.
Также лучше указывать хранимую процедуру типа команды в качестве дополнительного уровня безопасности при вызове хранимой процедуры.процедуры.Это гарантирует, что в качестве текста команды и параметров, передаваемых отдельно, указывается только имя хранимой процедуры.В противном случае разработчик может непреднамеренно создать текстовую строку команды небезопасным способом (т. Е. Содержащим как маркеры параметров, так и литеральные значения из ненадежного источника или даже вообще не использовать параметры).