SQLServer数据表转移实践经验(sqlserver转移表)
有时候,我们需要将sql server数据库中的一张或多张表从一个数据库迁移到另一个数据库,在对迁移时可以使用多种方式。可以在源和目标数据库之间使用脱机备份或附加方式完成,也可以通过查询服务完成任务,甚至可以仅依靠sql查询来实现。本文就来介绍一些在本实践中可以用到的技术操作,希望能够为大家的数据迁移工作提供一点帮助。
第一种方法是使用脱机备份/附加方法。只要确保源和目标环境都属于相同的sql server版本,可以直接通过备份/附加的方式,将源数据库中的表迁移到目标环境。以下是一个从源数据库备份,然后附加到目标环境的示例代码:
— 源数据库备份
Backup Database 源数据库
to disk = N’E:\backup_sourcedb.bak’
— 目标数据库附加
–将现有数据库从备份文件里附加
RESTORE DATABASE 目标数据库
from disk = N’E:\backup_sourcedb.bak’
with replace
第二种方法是使用查询服务。利用 SELECT-INTO/BULK COPY 这两种查询语句可以从源数据库复制或者移动表到目标环境,方法如下所示:
–SELECT-INTO
USE 源数据库;
SELECT * INTO 目标数据库.dbo.表名 FROM 源数据库.dbo.表名
–BULK COPY
USE 源数据库;
BULK
COPY 源数据库.dbo.表名
TO ‘E:\backup_sourcedb.bak’
WITH (FORMATFILE=’E:\backup_sourcedb.fmt’)
再目标环境里:BULK
COPY 目标数据库.dbo.表名
FROM ‘E:\backup_sourcedb.bak’
WITH (FORMATFILE=’E:\backup_sourcedb.fmt’)
第三种方法是仅仅依靠 sql查询,可以使用 INSERT INTO/SELECT 这两种语句来完成复制任务,代码如下:
–INSERT INTO / SELECT
USE 源数据库;
INSERT INTO 目标数据库.dbo.表名
SELECT * FROM 源数据库.dbo.表名
总之,在 sql server 数据表转移时,可以根据需要选择不同的方式来完成,本实践介绍的三种技术操作分别是:(1)使用脱机备份/附加方式;(2)使用查询服务;(3)仅依靠 sql 查询。这些技术操作都有各自的优势,根据个人的需要可以选择最合适的方式,方便我们之间的数据表转移任务。