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 查询。这些技术操作都有各自的优势,根据个人的需要可以选择最合适的方式,方便我们之间的数据表转移任务。


数据运维技术 » SQLServer数据表转移实践经验(sqlserver转移表)