问题:删除用户数据库中的数据时,把用户数据库中的一些数据误删除了,现在需要将已删除的那些数据插入到目前用户现在正在是用的数据库中(已做好数据备份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