SQL-Server 处理新旧备份间转移数据

因为历史因素,当前数据库里少了一些数据(被删了),但现在又需要把它找回来,所幸还存有之前数据库的完整备份,而里面有我要的数据。

处理流程:

  1. 另外找一台服务器把旧的备份档回存,查询确认是否有你所需数据。

  2. 把这个旧的数据库重新命名(数据库名称、档案逻辑名称)后,再做一个完整备份。

  3. 把更名后的旧数据库还原到生产环境的服务器,回存时注意要变更回存的档案路径与档名(预设的很可能会跟生产环境的数据库相同)。

  4. 执行下列SQL把旧数据库里的数据操到生产环境。

    -- 先把允許將明確的值插入資料表的識別欄位
    SET IDENTITY_INSERT  ON;
    GO
    
    -- 用ID栏位跨库查询缺失的数据,直接Insert到生产环境数据库
    INSERT INTO []([ID], [OtherField1],[OtherField2],[OtherField3],[OtherFieldElse]) 
    SELECT [ID], [OtherField1],[OtherField2],[OtherField3],[OtherFieldElse]
    FROM backup_database_name.dbo. o
    WHERE o.ID NOT IN (SELECT ID FROM )
    GO
    
    -- 关闭允許將明確的值插入資料表的識別欄位
    SET IDENTITY_INSERT  OFF;
    GO
    
  5. 完成。

你可能感兴趣的:(SQL-Server 处理新旧备份间转移数据)