Witam!
Mam dwa serwery:
1. Windows Web Server 2008 R2 z zainstalowanym IIS a w nim uwierzytelnianiem systemu Windows (tzw. zintegrowanym)
2. Windows Server 2008 R2 z zainstalowanym SQL Server 2005 (nie ma pozwolenia na instalację IIS)
Zlecono mi utworzenie połączenia z uwierzytelnianiem systemu Windows z witryny na IIS z serwera 1 do bazy SQL serwera 2 za pomocą PHP. Skrypt PHP może połączyć się z serwerem ale nie zalogować. Otrzymuję komunikat:
Unable to connect.
Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. ) [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. ) )
Skrypt wygląda tak:
/* Specify the server and connection string attributes. */
$serverName = "nazwa serwera 2";
$connectionInfo = array( "Database"=>"test");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Unable to connect.</br>"; }
/* Query SQL Server for the login of the user accessing the
database. */
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error in executing query.</br>"; }
/* Retrieve and display the results of the query. */
$row = sqlsrv_fetch_array($stmt);
echo "User login: ".$row[0]."</br>";
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
Próbowałem łączyć się z serwera 1 do bazy lokalnej SQL Server 2005 - to działa, zwraca komunikat "(nazwa serwera)/(nazwa użytkownika)". Mogę również połączyć się z serwera 1 na serwer 2 za pomocą SQL Server Management Studio. Co mam więc zmienić/doinstalować, żeby zalogować się do SQL Server'a na serwerze 2?
Z góry dzięki za pomoc
Ten post edytował misiek95 25.06.2011, 20:17:09