因为历史因素,当前数据库里少了一些数据(被删了),但现在又需要把它找回来,所幸还存有之前数据库的完整备份,而里面有我要的数据。
处理流程:
另外找一台服务器把旧的备份档回存,查询确认是否有你所需数据。
把这个旧的数据库重新命名(数据库名称、档案逻辑名称)后,再做一个完整备份。
把更名后的旧数据库还原到生产环境的服务器,回存时注意要变更回存的档案路径与档名(预设的很可能会跟生产环境的数据库相同)。
-
执行下列SQL把旧数据库里的数据操到生产环境。
-- 先把允許將明確的值插入資料表的識別欄位 SET IDENTITY_INSERT <table_name> ON; GO -- 用ID栏位跨库查询缺失的数据,直接Insert到生产环境数据库 INSERT INTO [<table_name>]([ID], [OtherField1],[OtherField2],[OtherField3],[OtherFieldElse]) SELECT [ID], [OtherField1],[OtherField2],[OtherField3],[OtherFieldElse] FROM backup_database_name.dbo.<table_name> o WHERE o.ID NOT IN (SELECT ID FROM <table_name>) GO -- 关闭允許將明確的值插入資料表的識別欄位 SET IDENTITY_INSERT <table_name> OFF; GO
完成。