При начале работы с экосистемой Microsoft SQL Server, особенно в связке с веб-технологиями вроде PHP и фреймворка Laravel, у разработчика часто возникает вопрос: какую версию СУБД выбрать, чтобы она была бесплатной, функциональной и подходила для учебных целей. Разберем по шагам доступные варианты, их ограничения и технические нюансы подключения.
Рассмотрим наиболее предпочтительный вариант для создания «полигона» тестирования. SQL Server Developer — это полнофункциональная бесплатная редакция, лицензированная специально для использования в качестве базы данных для разработки и тестирования в непроизводственной среде.
Проанализируем основные преимущества этой версии:
Важное замечание: Эту версию категорически запрещено использовать для реальных рабочих проектов (Production). Как только ваш проект выходит «в свет» для конечных пользователей, необходимо переходить на лицензируемые версии или на Express.
Выясним причину, по которой версия Express может быть менее удобной для активного обучения. Хотя она также бесплатна и может использоваться в Production, у нее есть жесткие технические рамки:
Для связки с Laravel версия Express подходит, но если вы планируете в дальнейшем разворачивать на этом же сервере базы 1С для тестов, лимит в 10 ГБ может стать серьезным препятствием.
Посмотрим на ситуацию, когда вам не нужно, чтобы SQL-сервер постоянно работал как системная служба и потреблял ресурсы Windows. LocalDB — это специальный режим установки Express, который запускается «по требованию» пользователя. Это идеальный вариант для быстрой отработки миграций Laravel, когда сервер нужен только в момент выполнения тестов или разработки кода.
Просто установить SQL Server недостаточно. Чтобы PHP «увидел» базу данных, нам необходимо выполнить ряд подготовительных действий. Разберем этот процесс детально.
Во-первых, выясним, какие драйверы нам понадобятся. Стандартные расширения для MySQL здесь не сработают. Вам необходимо скачать и установить Microsoft Drivers for PHP for SQL Server (sqlsrv). После скачивания соответствующих DLL-файлов их нужно прописать в файле php.ini:
extension=php_pdo_sqlsrv_81_nts_x64.dll
extension=php_sqlsrv_81_nts_x64.dll
Во-вторых, обязательным условием является наличие в системе Microsoft ODBC Driver for SQL Server. PHP-драйвер является лишь «прослойкой», а фактическую передачу данных осуществляет именно ODBC-драйвер.
В файле окружения Laravel (.env) настройки подключения будут выглядеть следующим образом:
DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=1433
DB_DATABASE=your_db_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
Рассмотрим подробнее альтернативный способ развертывания, который не засоряет операционную систему лишними службами и записями в реестре. Вы можете запустить MS SQL Server внутри Docker-контейнера. Это особенно удобно для разработчиков Laravel, использующих Docker Desktop или Sail.
Для запуска сервера достаточно одной команды в терминале:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrongPassword123" \
-p 1433:1433 --name sql_server_test \
-d mcr.microsoft.com/mssql/server:2022-latest
Проанализируем параметры: ACCEPT_EULA=Y подтверждает ваше согласие с лицензией, а MSSQL_SA_PASSWORD задает пароль системного администратора. Этот образ базируется на Linux, но ведет себя абсолютно идентично Windows-версии при работе через PHP.
Чтобы эффективно взаимодействовать с сервером, выясним, какой инструментарий лучше использовать:
Подведем итог: Если ваша цель — полноценное обучение и создание полигона для связи PHP с MS SQL без лишних трат, скачивайте SQL Server 2022 Developer Edition. Если же вам нужно быстро проверить работу скриптов в изолированной среде — используйте Docker. Не забудьте про установку sqlsrv драйверов и ODBC Driver, иначе Laravel не сможет установить соединение с сервером.