MSSQL Daten auslesen und in Tabelle speichern

Uelidetumm

Neuer Benutzer
Beiträge
2
Hallo zusammen

Ich möchte gerne aus einer Datenbank etwas auslesen und diesen Output dann in eine andere Tabelle speichern. meine Frage: Wie funktioniert das?

Aufgabe:

Könnte so etwas funktionieren oder ist der Ansatz falsch?

INSERT INTO auswertungDB (ReservedSpace, UsedSpace) VALUES ((SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name, (size*8)/1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'AdventureWorks'
GO), EXEC sp_spaceused @updateusage = N'TRUE');

GO

Bitte um hilfe

Lg Ueli
 
Werbung:
Hallo Ueli,

eigentlich eher so:

INSERT INTO Tabelle1 (Spalte1, Spalte2)
SELECT Spalte1, Spalte2 FROM Tabelle2
WHERE Spalte1 = 'Text'

Beim Einfügen von Daten aus einer anderen Tabelle brauchst Du VALUES nicht angeben sondern nur die Spalten aus der Ursprungstabelle und halt eine Bedingung die die einzufügenden Spalten filtert (wenn nötig).

Gruß Charly
 
Werbung:
Wow, vielen Dank für die rasche Antwort. Habe deinen sinnvollen Rat befolgt und siehe da: Es klappt.
Ich muss in diese Tabelle Verwendeter Speicherplatz und Reservierter Speicherplatz (Daten und Logfiles) eingeben.
Zusätzlich ist eine Unterscheidung zwischen Daten und Index gewünscht.

Weist du vielleicht auch wie ich das hinkriege?

Ich habe gerade gesehen, dass ich in sp_spaceused alles finde was ich brauche. Allerdings ist die Ausgabe folgendermassen:

Befehl:
USE AdventureWorks;
GO
EXEC sp_spaceused;
GO

Output

database_name database_size uncallculated space
AdventureWorks 172.00 MB 3.80 MB
reserved data index_size unused
17000000 KB 880000 KB 770000 KB 46000 KB

Ich brauch aber nur den Inhalt von data, reserved und index_size.
Kann man das irgendwie rausfiltern?

Lg Ueli
 
Zurück
Oben