Hier ist ein einfaches Beispiel für ein Skript, das eine Datenbank, einige Tabellen und einige Daten in Microsoft SQL Server erstellt. Dieses Skript erstellt eine Datenbank namens DWH, zwei Tabellen (Kunden und Bestellungen) und fügt einige Zeilen in die Tabellen ein. Sie können dieses Skript als Ausgangspunkt verwenden und es nach Bedarf anpassen.
-- Datenbank erstellen
CREATE DATABASE DWH;
GO
-- Zur Datenbank wechseln
USE DWH;
GO
-- Tabelle 'Kunden' erstellen
CREATE TABLE Kunden (
KundenID INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(100),
Adresse NVARCHAR(255)
);
GO
-- Tabelle 'Bestellungen' erstellen
CREATE TABLE Bestellungen (
BestellID INT PRIMARY KEY IDENTITY(1,1),
KundenID INT FOREIGN KEY REFERENCES Kunden(KundenID),
Produkt NVARCHAR(100),
Menge INT
);
GO
-- Daten in 'Kunden' einfügen
INSERT INTO Kunden (Name, Adresse) VALUES
('Kunde 1', 'Adresse 1'),
('Kunde 2', 'Adresse 2'),
('Kunde 3', 'Adresse 3');
GO
-- Daten in 'Bestellungen' einfügen
INSERT INTO Bestellungen (KundenID, Produkt, Menge) VALUES
(1, 'Produkt A', 10),
(2, 'Produkt B', 5),
(3, 'Produkt C', 20);
GO
So führen Sie das Skript aus:
- Öffnen Sie den SQL Server Management Studio (SSMS).
- Verbinden Sie sich mit Ihrer SQL Server-Instanz.
- Öffnen Sie ein neues Abfragefenster.
- Kopieren Sie das obige Skript in das Abfragefenster.
- Klicken Sie auf „Ausführen“, um das Skript auszuführen.
Bitte beachten Sie, dass dieses Skript sehr einfach ist und für den Produktionsgebrauch angepasst werden sollte, z.B. durch Hinzufügen von Indizes, Constraints, weiteren Tabellen und Daten, etc.
Wenn wir eine Datenbank schnell kopieren wollen
USE master;
GO
DECLARE @SourceDB varchar(200)
DECLARE @SourceLOG varchar(200)
DECLARE @query varchar(2000)
DECLARE @DBFile varchar(2000)
DECLARE @LogFile varchar(2000)
DECLARE @BackupFile varchar(2000)
DECLARE @TargetDB varchar(200)
DECLARE @TargetFolder varchar(2000)
SET @SourceDB = 'DWH_Core'
SET @SourceLOG = 'DWH_Core_log'
SET @BackupFile = 'D:\SQL\DATA\backup.dat'
SET @TargetDB = 'DWH_Core_DEV'
SET @TargetFolder = 'D:\SQL\DATA\'
SET @DBFile = @TargetFolder + @TargetDB + '.mdf';
SET @LogFile = @TargetFolder + @TargetDB + '.ldf';
---das Backup erstellen
IF @SourceDB IS NOT NULL
BEGIN
SET @query = 'BACKUP DATABASE [' + @SourceDB + '] TO DISK = ' + QUOTENAME(@BackupFile,'''')
PRINT 'Executing query : ' + @query;
EXEC (@query)
END
PRINT '(1 Zeile betroffen)';
---über Restore die Datenbank erzeugen
SET @query = 'RESTORE DATABASE ' + @TargetDB + ' FROM DISK = ' + QUOTENAME(@BackupFile,'''')
SET @query = @query + ' WITH MOVE ' + QUOTENAME(@SourceDB,'''') + ' TO ' + QUOTENAME(@DBFile ,'''')
SET @query = @query + ' , MOVE ' + QUOTENAME(@SourceLOG,'''') + ' TO ' + QUOTENAME(@LogFile,'''')
PRINT 'Executing query : ' + @query
EXEC (@query)
PRINT '(1 Zeile betroffen)'
Hinterlasse jetzt einen Kommentar