• 使用SQL语句还原数据库 2012.3.20


    --返回由备份集内包含的数据库和日志文件列表组成的结果集。
    --主要获得逻辑文件名
    USE master
    RESTORE FILELISTONLY
       FROM DISK = 'g:ack.Bak' 
    Go
    ************************************************
    /**//*
    利用bak恢复数据库,强制还原(REPLACE)
    STATS = 10 每完成10%显示一条记录
    DBTest和DBTest_log是上面g:ack.Bak里的逻辑文件
    */
    USE master
    RESTORE DATABASE DB 
       FROM DISK = 'g:ack.Bak'
       WITH MOVE 'DBTest' TO 'E:Program FilesMicrosoft SQL Server2005DataDB.mdf', 
       MOVE 'DBTest_log' TO 'E:Program FilesMicrosoft SQL Server2005DataDB_log.ldf',
    STATS = 10, REPLACE
    GO
    ++++++++++++++++++++++++++++++++
    
    /**//*
    备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
    */
    USE master
    BACKUP DATABASE DB 
      TO DISK = 'g:DBBack0930.bak' 
    RESTORE FILELISTONLY 
      FROM DISK = 'g:DBBack0930.bak' 
    RESTORE DATABASE DBTest 
      FROM DISK = 'g:DBBack0930.bak' 
      WITH MOVE 'DBTest' TO 'E:Program FilesMicrosoft SQL Server2005DataDBTest.mdf', 
      MOVE 'DBTest_log' TO 'E:Program FilesMicrosoft SQL Server2005DataDBTest_log.ldf'
    GO 
    ---******************************
    存储过程
    SET ANSI_NULLS ON
    SET QUOTED_IDENTIFIER ON
    go
    /*可以强制还原数据库,也可以利用备份文件重新创建一个数据库*/
    ALTER PROCEDURE [dbo].[restoreDB]
        (
          --@path NVARCHAR(32) ,
          @name NVARCHAR(64) ,--数据库备份的名称
          @mdfName NVARCHAR(64) ,--物理文件mdf的名称
          @ldfName NVARCHAR(64)--物理文件ldf的名称
        )
    AS 
        BEGIN
            DECLARE @path NVARCHAR(64)--数据库备份的地址
            DECLARE @mdfPath NVARCHAR(64)--mdf文件的存放地址
            DECLARE @ldfPath NVARCHAR(64)--ldf文件的存放地址
            SET @path = 'E:DB' + @name + '.bak'
            SET @mdfPath = 'E:DB' + @mdfName + '.mdf'
            SET @ldfPath = 'E:DB' + @ldfName + '.ldf'
            --RESTORE FILELISTONLY FROM DISK = @path --获取逻辑文件的名称
            RESTORE DATABASE @mdfName FROM DISK=@path WITH STATS = 10,REPLACE,--replace表示强制替换,STATS = 10表示每进行10%提示一下,@mdfName 就是DB的name
            MOVE 'Relaship' TO @mdfPath,
            MOVE 'Relaship_log' TO @ldfPath
        END
  • 相关阅读:
    Loki 初体验
    柠檬研究院及第一期活动预告
    Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控
    聊聊AspectCore动态代理中的拦截器
    使用AspectCore动态代理
    AspectCore中的IoC容器和依赖注入
    AspectCore.Extension.Reflection : .NET Core反射扩展库
    Asp.Net Core轻量级Aop解决方案:AspectCore
    [精品书单] C#/.NET 学习之路——从入门到放弃
    创建vue项目
  • 原文地址:https://www.cnblogs.com/changshuo/p/3434417.html
Copyright © 2020-2023  润新知