none
Backup zurück spielen - Pfad local "suchen" RRS feed

  • Frage

  • ich stelle über folgendem SQL eine DB wieder im sytsem her

       RESTORE DATABASE CSRdat_Master 
       FROM DISK = N'C:\CSR\ACX\Fernzugriff\CSRdat_Master.Bak' WITH FILE=1, 
       
       MOVE N'CSRdat_Master' TO N'C:\Program Files\Microsoft SQL Server\MSSQL14.CSR2017\MSSQL\DATA\CSRdat_Master.mdf',   
       MOVE N'CSRdat_Master_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL14.CSR2017\MSSQL\DATA\CSRdat_Master_Log.ldf' ,UNLOAD, REPLACE

    den bereich

    N'C:\Program Files\Microsoft SQL Server\MSSQL14.CSR2017\MSSQL\DATA\CSRdat_Master.mdf'

    möchte ich über

    SELECT physical_name FROM master.sys.master_files WHERE name LIKE 'CSRdat_Master'

    etwas automatisieren - nur leider bekomme ich das nicht in einem SQL String zusammengebaut - wer kann mir da helfen

    Mittwoch, 7. März 2018 15:26

Antworten

  • Hallo MCDPone

    das sollte so gehen:

    DECLARE @smdf NVARCHAR(MAX);
    DECLARE @sldf NVARCHAR(MAX);
    
    SELECT @smdf = physical_name FROM master.sys.master_files WHERE name LIKE 'CSRdat_Master' and type_desc = 'ROWS';
    SELECT @sldf = physical_name FROM master.sys.master_files WHERE name LIKE 'CSRdat_Master_LOG' and type_desc = 'LOG';
    
    RESTORE DATABASE CSRdat_Master
    FROM DISK = N'C:\CSR\ACX\Fernzugriff\CSRdat_Master.Bak'
    WITH FILE = 1,
         MOVE N'CSRdat_Master'
         TO @smdf,
         MOVE N'CSRdat_Master_LOG'
         TO @sldf,
         UNLOAD,
         REPLACE;

    Grüße Volker

    • Als Antwort markiert MCDPone Mittwoch, 7. März 2018 16:35
    Mittwoch, 7. März 2018 16:17

Alle Antworten

  • Hallo MCDPone

    das sollte so gehen:

    DECLARE @smdf NVARCHAR(MAX);
    DECLARE @sldf NVARCHAR(MAX);
    
    SELECT @smdf = physical_name FROM master.sys.master_files WHERE name LIKE 'CSRdat_Master' and type_desc = 'ROWS';
    SELECT @sldf = physical_name FROM master.sys.master_files WHERE name LIKE 'CSRdat_Master_LOG' and type_desc = 'LOG';
    
    RESTORE DATABASE CSRdat_Master
    FROM DISK = N'C:\CSR\ACX\Fernzugriff\CSRdat_Master.Bak'
    WITH FILE = 1,
         MOVE N'CSRdat_Master'
         TO @smdf,
         MOVE N'CSRdat_Master_LOG'
         TO @sldf,
         UNLOAD,
         REPLACE;

    Grüße Volker

    • Als Antwort markiert MCDPone Mittwoch, 7. März 2018 16:35
    Mittwoch, 7. März 2018 16:17
  • Vielen Dank - so geht es
    Mittwoch, 7. März 2018 16:36