Во-первых, вы не должны никогда, никогда делать это из веб-приложения. Когда-либо. В самом деле. Я серьезно. За исключением пакетов развертывания, единственное время, которое мне нужно для выполнения CREATE DATABASE
, - это анализатор запросов в SSMS. Кроме того, я с подозрением отношусь к любому коду, который позволил бы пользователю ввести имя базы данных, а затем пойти и создать его.
Самое главное, то, что вы опубликовали, не является "параметризованным запросом". Это сцепленный SQL, который является источником уязвимостей внедрения SQL. . Если бы это был параметризованный запрос (или хранимый процесс, но я не думаю, что вы можете сделать CREATE DATABASE
из sproc), SQL-инъекция не будет проблемой.
Вы можете либо использовать реальный параметризованный запрос ( здесь хороший учебник по параметризованным запросам. ), либо дезинфицировать ваши входные данные, но ADO.NET или любая другая библиотека БД будет надежно обрабатывать это для вас, ЕСЛИ вы правильно строите объекты команд и параметров.