Probleme mit IIS PHP SQL auf SBS2011
Hallo,
Erst einmal zum Server:
Dell PowerEdge 610
2 x QC Xeon
32GB RAM
RAID10 ( 6x 600GB SAS 15k)
OS: MS SBS2011
Die Situation:
Der SBS2011 wird als neuer zentraler Server installiert. Dieser soll auch die SQL-Datenbank bereitstellen, dazu wurde der SQL-Server 2008 R2 aus dem Premium Add-On installiert. Für selbstgeschriebene Webanwendungen wurde zu dem IIS mittels WebPlattformInstaller PHP hinzugefügt.
Von dem alten Server (SBS2003) wurden die Datenbanken aus dem MS SQL Server Management Studio gesichert, und genauso auf dem neuen Server wiederhergestellt.
Die PHP Anwendungen wurden auch auf den neuen Server kopiert. Die Gruppe IIS_IUSRS hat alle Rechte auf den Ordner. Die PHP-Skripte wurden natürlich auf den neuen Server angepasst. Die Anwendung wurde im IIS hinzugefügt.
Beim Aufruf der Seite bekomme ich nur eine SQL Fehlermeldung. Über SQLcmd bekomme ich die Verbindung an die gleiche Datenbank mit dem User „sa“ und dem entsprechendem Passwort ohne Problem hin.
Der Code zur Verbindung:
$mssql_conn_tmb = sqlsrv_connect($mssql_server_tmb, array( "Database"=>$mssql_dbname_tmb, "UID"=>$mssql_user_tmb, "PWD"=>$mssql_password_tmb));
if (!$mssql_conn_tmb) {
die('1. Verbindung oder keine Datenbankauswahl fehlgeschlagen!');
die( print_r( sqlsrv_errors(), true));
Die Fehlermeldung:
Array ( => Array ( => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [2]. [message] => [Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [2]. ) [1] => Array ( => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired [message] => [Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired ) [2] => Array ( => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )
Im MS SQL Management Studio habe ich geprüft ob eine Remoteverbindung zulässig ist.
Im SQL Server Configuration Manager habe ich geprüft ob das Protokoll TCP / IP aktiviert ist.
Leider bin ich nicht der SQL Experte und habe auch nur wenig Erfahrung mit dem IIS und komme an dieser Stelle nicht wirklich weiter. Der „sa“ auf dem neuen Server sollte doch trotz der komplett wiederhergestellten Datenbank alle rechte haben oder sehe ich das falsch ?
Ich hoffe Ich habe die wichtigsten Informationen zusammen, so dass Ihr mir helfen könnt. Ansonsten ergänze ich natürlich gerne.
Gruß ITS
Erst einmal zum Server:
Dell PowerEdge 610
2 x QC Xeon
32GB RAM
RAID10 ( 6x 600GB SAS 15k)
OS: MS SBS2011
Die Situation:
Der SBS2011 wird als neuer zentraler Server installiert. Dieser soll auch die SQL-Datenbank bereitstellen, dazu wurde der SQL-Server 2008 R2 aus dem Premium Add-On installiert. Für selbstgeschriebene Webanwendungen wurde zu dem IIS mittels WebPlattformInstaller PHP hinzugefügt.
Von dem alten Server (SBS2003) wurden die Datenbanken aus dem MS SQL Server Management Studio gesichert, und genauso auf dem neuen Server wiederhergestellt.
Die PHP Anwendungen wurden auch auf den neuen Server kopiert. Die Gruppe IIS_IUSRS hat alle Rechte auf den Ordner. Die PHP-Skripte wurden natürlich auf den neuen Server angepasst. Die Anwendung wurde im IIS hinzugefügt.
Beim Aufruf der Seite bekomme ich nur eine SQL Fehlermeldung. Über SQLcmd bekomme ich die Verbindung an die gleiche Datenbank mit dem User „sa“ und dem entsprechendem Passwort ohne Problem hin.
Der Code zur Verbindung:
$mssql_conn_tmb = sqlsrv_connect($mssql_server_tmb, array( "Database"=>$mssql_dbname_tmb, "UID"=>$mssql_user_tmb, "PWD"=>$mssql_password_tmb));
die('1. Verbindung oder keine Datenbankauswahl fehlgeschlagen!');
die( print_r( sqlsrv_errors(), true));
Die Fehlermeldung:
Array ( => Array ( => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [2]. [message] => [Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [2]. ) [1] => Array ( => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired [message] => [Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired ) [2] => Array ( => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )
Im MS SQL Management Studio habe ich geprüft ob eine Remoteverbindung zulässig ist.
Im SQL Server Configuration Manager habe ich geprüft ob das Protokoll TCP / IP aktiviert ist.
Leider bin ich nicht der SQL Experte und habe auch nur wenig Erfahrung mit dem IIS und komme an dieser Stelle nicht wirklich weiter. Der „sa“ auf dem neuen Server sollte doch trotz der komplett wiederhergestellten Datenbank alle rechte haben oder sehe ich das falsch ?
Ich hoffe Ich habe die wichtigsten Informationen zusammen, so dass Ihr mir helfen könnt. Ansonsten ergänze ich natürlich gerne.
Gruß ITS
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 285506
Url: https://administrator.de/forum/probleme-mit-iis-php-sql-auf-sbs2011-285506.html
Ausgedruckt am: 09.04.2025 um 09:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo ITS,
so wie ich die Fehlermeldung lese, wird die Verbindung nicht über TCP/IP hergestellt, sondern über Named Pipes. Ist das auch aktiv?
Und ansonsten nochmal prüfen, ob der Dienst "SQL Server Browser" aktiv ist.
Am sa liegt es jedenfalls nicht, der Server wird erstmal noch gar nicht gefunden.
Gruß, Mad Max
so wie ich die Fehlermeldung lese, wird die Verbindung nicht über TCP/IP hergestellt, sondern über Named Pipes. Ist das auch aktiv?
Und ansonsten nochmal prüfen, ob der Dienst "SQL Server Browser" aktiv ist.
Am sa liegt es jedenfalls nicht, der Server wird erstmal noch gar nicht gefunden.
Gruß, Mad Max
was ja auch extra eine Server2008 Lizenz enthält, die aber nicht genutzt werden kann / soll.
Das meine ich mit setup per default ... wenn Du das nicht wie von MS propagiert und supportiert lösen willst, musst Du halt mit Problem leben. Auf dem SBS läuft schon ein SQL-Express, was Du da machst ist hanebüchen.
LG, Thomas
Hallo ITS,
der alte Server war vermutlich ein SQL Server 2000, richtig? Dann gab es dort noch keine Instanzen. Und wenn Du jetzt mehrere Instanzen vom SQL Server hast, dann mußt Du die richtige ansprechen. Also nicht mehr nur ServerX, sondern ServerX\InstanzY. Wird die richtige Instanz gewählt?
Gruß, Mad Max
der alte Server war vermutlich ein SQL Server 2000, richtig? Dann gab es dort noch keine Instanzen. Und wenn Du jetzt mehrere Instanzen vom SQL Server hast, dann mußt Du die richtige ansprechen. Also nicht mehr nur ServerX, sondern ServerX\InstanzY. Wird die richtige Instanz gewählt?
Gruß, Mad Max