Sql Server 大批量数据迁移

Sql Server 大批量数据迁移

一、生成BCP脚本

sql 复制代码
SELECT 
'bcp "SELECT * FROM [ZOL_YS001ERPV2].[dbo].[' + t.name + '] ' +
'WHERE CompanyCode IN (''00000015'',''00000603'','''') OR CompanyCode IS NULL  " ' +
'queryout "{文件夹路径}\' + t.name + '.dat" ' +
'-S {数据库IP} -U {账户} -P "{密码}" -n -b 50000'
FROM sys.tables t
JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.name = 'CompanyCode:包含什么字段的表'

1、查出数据脚本 另存为 .bat

Export_Data.bat

文件编码更改:ANSI

2、导出文件会在 上面路径下

二、生成导入脚本

c 复制代码
@echo off
setlocal enabledelayedexpansion

echo 开始导入数据...
echo 导入时间: %date% %time%

set "server={数据库IP}"
set "database={表}"
set "user={账户}"
set "password={密码}"

for %%f in ({文件夹路径}\*.dat) do (
    set "filename=%%~nf"
    echo 正在导入表: !filename!
    
    bcp "!database!.dbo.!filename!" IN "%%f" -S %server% -U %user% -P "%password%" -n -b 50000 -E -h "TABLOCK"
    
    if !errorlevel! equ 0 (
        echo 成功导入: !filename!
    ) else (
        echo 错误: !filename! 导入失败
    )
)

echo 导入完成!
echo 结束时间: %date% %time%
pause

1、上方另存为 .bat

Import_All_Data.bat

文件编码更改:ANSI

数据库设置简单日志模式

sql 复制代码
--1、简单日志
ALTER DATABASE [H_ZOL_YS001ERPV2] SET RECOVERY SIMPLE;
 --2、完整日志
ALTER DATABASE [H_ZOL_YS001ERPV2] SET RECOVERY FULL;

比较两个库差异表

sql 复制代码
SELECT 
    b.TABLE_NAME
FROM 
    ZOL_YS001RPTV2.INFORMATION_SCHEMA.TABLES b
LEFT JOIN 
    H_ZOL_YS001RPTV2.INFORMATION_SCHEMA.TABLES a
    ON a.TABLE_NAME = b.TABLE_NAME
WHERE 
    a.TABLE_NAME IS NULL
    AND b.TABLE_TYPE = 'BASE TABLE'
ORDER BY 
    b.TABLE_NAME;

去除表自增

sql 复制代码
SET IDENTITY_INSERT 表 ON

可插入语句

SET IDENTITY_INSERT 表  OFF --294872

数据库权限

sql 复制代码
1、设置数据库可信度
执行以下T-SQL命令将数据库标记为可信:
sql

ALTER DATABASE [数据库名] SET TRUSTWORTHY ON


2、更改数据库所有者
有时需要将数据库所有者改为sa账户:
sql
USE [数据库名]
GO
EXEC sp_changedbowner 'sa'
相关推荐
网硕互联的小客服1 小时前
服务器的IO性能怎么看?
linux·运维·服务器·安全
小狗照亮每一天1 小时前
【菜狗学编程】服务器基础知识——20251130
运维·服务器
Leon-Ning Liu1 小时前
【系列实验一】Oracle 19c RAC 安装(4个节点)
数据库·oracle
xuanloyer1 小时前
oracle从入门到精通--oracle体系结构
数据库·oracle
生产队队长1 小时前
Database:Linux环境中的Oracle修改密码
linux·数据库·oracle
Elseide艾思1 小时前
【数据速递】数字经济招聘数据(2012年至今)
数据库
叽里咕噜怪1 小时前
MySQL-主从复制实验详解
数据库·mysql
Guheyunyi1 小时前
智能巡检系统:智能化管理的安全守护者
大数据·运维·服务器·人工智能·安全
即将进化成人机1 小时前
巷陌店铺方法功能整理
数据库·mysql