violak

Mit Powershell Inhalte einer SQL Datenbank löschen

Guten Abend,

ich schreibe mit meinem PowerShell Skript Benutzerdaten aus dem AD in eine MS SQL Datenbank.

MS SQL 2016, das PowerShell SQL Modul ist installiert.

#Daten an SQL Datenbank weitergeben
$insertquery="   
INSERT INTO [dbo].[UsersDB] 
           ([Zeit] 
           ,[Gruppe] 
           ,[Benutzername]) 
     VALUES 
           ('$timetolive'   
           ,'$Group'   
           ,'$Groupmember')   
GO 
"   
 
Invoke-SQLcmd -ServerInstance 'localhost' -query $insertquery -U sa -P Hallo123 -Database power   

Das Funktioniert soweit auch sehr gut.

Jetzt wollte ich gerne einmal alle Daten in der Datenbank löschen, meine Tabellen sollen dabei aber bestehen bleiben nur die Inhalte sollen gelöscht werden.

Irgendwie komme ich aber nicht dahin, dass das irgendwie funktionieren will.

Hat jemand von Euch einen Tipp für mich wie ich das mit PowerShell machen kann?

Vielen Dank
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 492423

Url: https://administrator.de/forum/mit-powershell-inhalte-einer-sql-datenbank-loeschen-492423.html

Ausgedruckt am: 01.06.2025 um 06:06 Uhr

140913
Lösung 140913 06.09.2019 aktualisiert um 20:53:44 Uhr
Goto Top
https://www.w3schools.com/sql/sql_delete.asp
DELETE FROM TABELLEXYZ
und alles in der entsprechenden Tabelle is wech ...
violak
violak 06.09.2019 um 21:31:49 Uhr
Goto Top
Ah ja klasse danke.

Dann wäre der Befehl

$insertquery2="   
DELETE FROM UsersDB WHERE Benutzername='rolandeich'  
GO 
"   
 
Invoke-SQLcmd -ServerInstance 'localhost' -query $insertquery2 -U sa -P Hallo123 -Database power   

Vielen Dank face-smile
Pjordorf
Pjordorf 06.09.2019 um 22:11:07 Uhr
Goto Top
Hallo,

Zitat von @violak:
Dann wäre der Befehl
Nee, da du alle Datensätze in einer Tabelle löschen wolltest
Jetzt wollte ich gerne einmal alle Daten in der Datenbank löschen, meine Tabellen sollen dabei aber bestehen bleiben nur die Inhalte sollen gelöscht werden.
Du musst nur jede Tabelle einmal anfassen. Siehe auch
Delete All Records

It is possible to delete all rows in a table without deleting the table. This means that the table structure, attributes, and indexes will be intact:
DELETE FROM table_name;
also ein Delete ohne deine WHERE Bedingung.
https://www.w3schools.com/sql/default.asp

Gruß,
Peter