问题:删除用户数据库中的数据时,把用户数据库中的一些数据误删除了,现在需要将已删除的那些数据插入到目前用户现在正在是用的数据库中(已做好数据备份bak文件)
首先将备份文件还原到本地数据库,还原成功。
在目标表中查找到我们所需要插入的数据:
SELECT * FROM dbo.Remarks WHERE DATEDIFF (DAYOFYEAR, CreateTime,getdate ())<90 AND tag is NULL
继续进行下一步操作,将所查找到的那些需要插入到数据库中的的数据添加到一个新的临时表中(以下中临时表名为:dbo.temp_remarks)
SELECT * INTO dbo.temp_remarks FROM dbo.Remarks WHERE DATEDIFF (DAYOFYEAR, CreateTime,getdate ())<90 AND tag is NULL
继续下一步操作,将操作获取到的临时表dbo.temp_remarks导出到目标数据库中的目标表中,填写相关的数据库连接参数,后面进行相关的操作完成后操作下一步
去用户数据库中查询我们导出的临时表的数据情况
SELECT * FROM dbo.temp_remarks
操作下一步,将临时表中的那些我们查询到的数据插入到用户数据库中的目标表中,具体操作如下:
SET IDENTITY_INSERT dbo. Remarks ON ;
INSERT INTO dbo. Remarks
( ID ,
[Key] ,
Creater ,
Remark ,
CreateTime ,
Color ,
Tag ,
RefType ,
RefID ,
ShortStringID ,
Loglevel
)
SELECT a .ID ,
a.[Key] ,
a.Creater ,
CONVERT(NVARCHAR (MAX), a. Remark) ,
a.CreateTime ,
CONVERT(VARCHAR (MAX), a. Color) ,
a.Tag ,
a. RefType ,
a.RefID ,
a.ShortStringID ,
a.Loglevel
FROM temp_remarks a WITH ( HOLDLOCK TABLOCKX )
LEFT JOIN remarks b ON a. id=b .id
WHERE b .id IS NULL
SET IDENTITY_INSERT dbo. Remarks OFF ;
最后一步,别忘了删除临时表哟:drop table temp_remarks