xp_cmdshell scheint sich aufzuhängen

Man sollte keine Befehle mit xp_cmdshell ausführen, die irgendeine Interaktion mit dem Benutzer erwarten. Diese warten dann auf irgendwelche Aktionen seitens des Benutzer, die nicht stattfinden und scheinen sich *aufgehängt* zu haben.
Ein Bespiel hierfür ist

exec master..xp_cmdshell 'time'

Hingegen liefert:

exec master..xp_cmdshell 'time/t'

output               
--------------------- 
22:11
NULL

(2 row(s) affected)

gute Ergebnisse

Anmerkung 21.07.2004: Ralph Hüttenmoser hat einen Workaround aufgezeigt. Dabei wird der SQL Server Dienst angepasst. Aktiviert man auf dem Tab "Anmelden" das Lokale Systemkonto, kann man die Option "Datenaustausch zwischen Dienst und Desktop zulassen" aktivieren. Anschliessend übernehmen und den Dienst neu starten. Danach kann man folgendes ohne Probleme ausführen:

exec master..xp_cmdshell 'time'

output                        
------------------------------ 
Aktuelle Zeit: 14:31:36,82
Geben Sie die neue Zeit ein: 

(2 row(s) affected)

Bevor man allerdings den Dienst so anpasst, sollte man in BOL nachlesen, was die Konsequenzen sind.

Noch kein Feedback
Einen Kommentar hinterlassen

Ihre E-Mail-Adresse wird nicht auf dieser Seite angezeigt.
SchlechtExzellent
(Zeilenumbrüche werden zu <br />)
(For my next comment on this site)
(Allow users to contact me through a message form -- Your email will not be revealed!)
Dies ist ein Captcha Bild. Es wird benutzt, um Massenzugriffe von Robotern zu verhindern.
Bitte gib die Zeichen des obigen Bildes ein. (Groß/Kleinschreibung ist wichtig)
Trackback-Adresse für diesen Eintrag
Dies ist ein Captcha Bild. Es wird benutzt, um Massenzugriffe von Robotern zu verhindern.
Bitte gib die Zeichen des obigen Bildes ein. (Groß/Kleinschreibung ist wichtig)