its2015
Goto Top

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

Content-Key: 285506

Url: https://administrator.de/contentid/285506

Printed on: April 25, 2024 at 11:04 o'clock

Member: keine-ahnung
keine-ahnung Oct 14, 2015 at 13:29:40 (UTC)
Goto Top
Moin,
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.
so hat der Bill das aber nicht vorgesehen face-wink! Installiere das per default ...

LG, Thomas
Member: ITS2015
ITS2015 Oct 14, 2015 at 14:53:03 (UTC)
Goto Top
Moin,

danke für deine Antwort.

Per Default installieren bedeutet hier wohl, einen weiteren Server (Win2008R2) zu installieren für die SQL. Ich habe aber keinen weiteren Server zur Verfügung.

Es sollte ja dennoch Möglich sein diesen installierten SQL Server zu verwenden. Per SQLcmd habe ich ja auch keine Probleme.
Ich gehe da eher von einem Fehler bei der IIS Konfiguration aus. Leider habe ich mit dem IIS noch nicht viel Erfahrung, da ich normalerweise bei Webanwendungen auf den Apache unter Debian setze.
Member: MadMax
MadMax Oct 14, 2015 at 15:20:45 (UTC)
Goto Top
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
Member: keine-ahnung
keine-ahnung Oct 14, 2015 at 18:58:26 (UTC)
Goto Top
Per Default installieren bedeutet hier wohl, einen weiteren Server (Win2008R2) zu installieren für die SQL. Ich habe aber keinen weiteren Server zur Verfügung.
??
dazu wurde der SQL-Server 2008 R2 aus dem Premium Add-On installiert
???? face-smile

Warum nimmst Du nicht die da beiliegende Lizenz?

LG, Thomas
Member: ITS2015
ITS2015 Oct 15, 2015 at 08:01:13 (UTC)
Goto Top
Hallo MadMax,

auch dir vielen Dank.

Die "NamedPipes" sind aktiv, da auch andere Anwendungen den SQL Server nutzen sollen. Ich habe das aber mal Testweise deaktiviert. Bringt leider keinen Erfolg. Der "SQL Server Browser" Dienst ist auch aktiviert und wird ausgeführt.

Gruß ITS
Member: ITS2015
ITS2015 Oct 15, 2015 at 08:17:13 (UTC)
Goto Top
Hallo,

beiliegende SQL Lizenz ?

so wie ich das Verstanden habe, ist der integrierte SQL für die integrierten Dienste, nicht für weitere Instanzen. Dafür gibt es ja das PremiumAddOn, was ja auch extra eine Server2008 Lizenz enthält, die aber nicht genutzt werden kann / soll.


http://www.tecchannel.de/server/windows/2033028/windows_small_business_ ...
Member: keine-ahnung
keine-ahnung Oct 15, 2015 at 10:11:50 (UTC)
Goto Top
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
Member: MadMax
MadMax Oct 15, 2015 at 11:01:04 (UTC)
Goto Top
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