Ich habe eine Datenbank $CurrentDB
und ich möchte eine Sicherung von $CurrentDB
zu $NewDB
wiederherstellen. Die T-SQL-Befehl sieht wie folgt aus:Powershell wiederherstellen SQL Server-Datenbank auf neue Datenbank
USE [master]
ALTER DATABASE [NewDB]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [NewDB]
FROM DISK = N'D:\Backups\CurrentDB.bak'
WITH FILE = 1,
MOVE N'CurrentDB' TO N'D:\Databases\NewDB.mdf',
MOVE N'CurrentDB_log' TO N'D:\Logs\NewDB_log.ldf',
NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE [NewDB]
SET MULTI_USER
GO
ich bin versucht, Benutzer Restore-SqlDatabase
aber ich weiß nicht, wie man richtig -RelocateFile
$CurrentDB = "CurrentDB"
$NewDB = "NewDB"
$NewDBmdf = "NewDB.mdf"
$CurrentDBlog = "CurrentDB_log"
$NewDBldf = "NewDB_log.ldf"
$backupfile = $CurrentDB + "ToNewDB.bak"
$RelocateData = New-Object
Microsoft.SqlServer.Management.Smo.RelocateFile($CurrentDB, $NewDBmdf)
$RelocateLog = New-Object
Microsoft.SqlServer.Management.Smo.RelocateFile($CurrentDBlog, $NewDBldf)
Restore-SqlDatabase -ServerInstance $SQLServer -Database $NewDB -BackupFile
$backupfile -ReplaceDatabase -NoRecovery -RelocateFile @($RelocateData,
$RelocateLog)
ich nicht ein Beispiel zu finden scheinen, was Ich versuche es zu tun. Ich habe viele Beispiele für die Wiederherstellung von Datenbanken mit demselben Namen, aber verschiedenen Dateien gesehen. Ich möchte einen anderen Namen und andere Dateinamen. Ich bin offen für Vorschläge.