Не удалось установить соединение с SQL Server 2019

У меня проблема с запуском моего проекта PHP на нашем IIS с SQL Server 2019. Моя версия PHP — 7.0.26, и я уже импортировал SQLSRV DLLS.

Когда я пытаюсь войти в свою систему, появляется следующая ошибка:

Не удалось установить соединение. Массив ([0] = ›Массив ([0] =› 28000 [SQLSTATE] = ›28000 [1] =› 18456 [code] = ›18456 [2] =› [Microsoft] [Драйвер ODBC 13 для SQL Server] [ SQL Server] Ошибка входа для пользователя sa. [Message] = ›[Microsoft] [Драйвер ODBC 13 для SQL Server] [SQL Server] Ошибка входа для пользователя sa.) [1] =› Массив ([0] = ›28000 [SQLSTATE] =› 28000 [1] = ›18456 [code] =› 18456 [2] = ›[Microsoft] [Драйвер ODBC 13 для SQL Server] [SQL Server] Ошибка входа для пользователя ‘sa’. [ message] = ›[Microsoft] [Драйвер ODBC 13 для SQL Server] [SQL Server] Ошибка входа для пользователя sa.))

Это часть моей строки подключения.

$myCon = array("Database"=>$myDB, "UID"=>$myUser, "PWD"=>$myPass);
$db = sqlsrv_connect( $myServer, $myCon);

Кроме того, я попытался отследить ошибку, например, добавив неправильные учетные данные, чтобы увидеть, есть ли какие-то изменения в сообщении об ошибке, но оно остается прежним.

Мы пробовали некоторые конфигурации, такие как настройка аутентификации сервера в SQL Server и режиме аутентификации Windows, брандмауэр отключен, а также настройка конфигурации собственного клиента.

Конфигурация IIS была сделана с установкой типа MIME, документа по умолчанию, строки подключения, пула приложений и была установлена ​​вся конфигурация пути.

Я также установил только ODBC Driver 13, 2015 Redistributable, .NET 4 framework.

Может кто-нибудь мне помочь? Спасибо.

Сначала создайте новый LOGIN (и необходимый USERs) для вашего веб-приложения с минимальным количеством необходимых разрешений и используйте его тоже. Затем, если вы не можете подключиться, проверьте журналы SQL Server. Учетная запись sa не должна никогда использоваться приложением для подключения.   —  person Jonathan Magat    schedule 11.10.2020

См. также:  Как я могу использовать SQLite для функционального тестирования PHPUnit в TYPO3 9LTS

Ваша проблема решена? Если ваша проблема решена, прошу вас отметить полезное предложение как ответ. Это поможет другим людям, столкнувшимся с той же проблемой. Если ваша проблема все еще существует, попробуйте сослаться на решение, предложенное членами сообщества. Если у вас возникнут дополнительные вопросы, сообщите нам об этом. Мы постараемся предоставить дальнейшие предложения по решению проблемы. Спасибо за понимание   —  person Jonathan Magat    schedule 19.10.2020

Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Jonathan Magat

    Учетная запись SA создается в процессе установки. Учетная запись SA хорошо известна и часто становится целью злоумышленников, поэтому рекомендуется отключить учетную запись sa, если этого не требует ваше приложение. вы можете создать новую учетную запись на сервере SQL или использовать проверку подлинности Windows для доступа к базе данных SQL.

    <?php
    $serverName = "serverName\\sqlexpress"; //serverName\instanceName
    $connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    
    if( $conn ) {
         echo "Connection established.<br />";
    }else{
         echo "Connection could not be established.<br />";
         die( print_r( sqlsrv_errors(), true));
    }
    ?>
    

    См. Ссылку ниже для получения более подробной информации о том, как создать пользователя и настроить с помощью iis:

    https://forums.iis.net/post/2159167.aspx

    https://docs.microsoft.com/en-us/sql/connect/php/programming-guide-for-php-sql-driver?view=sql-server-ver15

    https://docs.microsoft.com/en-us/sql/connect/php/connecting-to-the-server?view=sql-server-ver15

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: