Posts mit dem Label SSMS werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SSMS werden angezeigt. Alle Posts anzeigen

Montag, 20. September 2010

T-SQL: xp_cmdshell verwenden

Die erweiterte Systemprozedur xp_cmdshell ermöglicht die Ausführung von Betriebssystemkommandos.
Standardmäßig ist diese Prozedur deaktiviert.

Vorgehensweise zur Benutzung von xp_cmdshell

1. Aktivierung in SQL Serer 2005 über die Oberflächenkonfiguration, in SQL Server 2008 im SQL Server Management Studio im Kontextmenü Facets des Serverknotens, Facet "Surface Area Configuration" , Facet Property XPCmdShellEnabled auf True setzen.

2. Berechtigung EXECUTE  für gewünschten Datenbankbenutzer in Eigenschaften der sys.xp_cmdshell in master-DB setzen (Databases\System Databases\Programmability\Extended Stored Procedures\System Extended Stored Procedures\sys.xp_cmdshell)

3. einen Windows-Account mit Zugriffsrechten auf das Betriebssystem als cmdshell-Proxy einrichten

EXEC sp_xp_cmdshell_proxy_account 'MyDomain\MyUserName', 'myDomainPassword'

Die Ausführung sollte als Windows-Login eines Windows-Administrators erfolgen, damit das Passwort aus der Windows-Kontenverwaltung abgerufen werden kann.

4. Verwendung

EXEC xp_cmdshell 'dir c:\'

Dienstag, 10. August 2010

SQL Server Management Studio: Option zum Verhindern von Tabellenneuerstellungen deaktivieren

Umgebung: MS SQL Server 2008 R2
Situation: Im SQL Server Management Studio sollte für eine vorhandene Tabelle mit Hilfe des tabellendesigners ein Primärschlüssel hinziugefügt werden. Nach dem Hinzufügen trat beim Speichern  folgender Fehler auf:



Durch die standardmäßig aktivierte Option "Prevent saving changes that require the table to be re-created" soll verhindert werden, daß gefüllte Tabellen irrtümlich geleert werden und potentiell wertvoller Inhalt verloren geht. Gerade in der Entwurfsphase ist es jedoch oftmals kontraproduktiv, wenn man durch diesen Schutzmechanismus beim Nachbearbeiten von Tabellenstrukturen ausgebremst wird.

Um diese Option zu deaktivieren, geht man wie folgt vor:

Menü Tools\Options\Designers\Table und Database Designers

Deaktivieren der Option "Prevent saving changes that require table re-creation"