当前位置: 首页 > article >正文

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具01

1、开发背景

大家都很熟悉,Oracle提供了Impdp和ExpDp工具,功能很强大,可以进行db的导入导出的处理。但是对于Sqlserver数据库只是提供了简单的图形化的导出导入工具,在实际的开发和生产环境不太可能让用户在图形化的界面选择移行的对象,进行移行。

我们在数据库的移行中也遇到这种问题,需要提供一个工具给客户使用。所以我们开发了针对SQLServer数据库的cmd形式导入导出的工具。在长期的实践中不断完善,基本可以实现Oracle的导入导出工具的80%的功能,也比较的稳定。下面功能跟大家介绍下,有需要的可以下载使用,也可以提供定制化的服务

2、功能介绍

1)执行效果

导出

导入

2)导出功能介绍
参数                                                                                                       

    -s                                    数据库服务器IP                                                                                       
    -d                                    数据库名字                                                                                        
    -u                                    登录用户名                                                                                        
    -p                                    登录用户名密码    
    -schema                         数据库的schema名                                                                                 
    -exclude_table               导出除外的表                                                                                        
    -include_table                导出表指定                                                                                        
    -content                         导出内容指定

                                                (有效值:ALL、DATAONLY和METAONLY。[默认值:ALL])                                                                       
    -query                            表的子集导出语句                                                                                  

使用例子

2.1    全部的表导出(表数据和结构都导出)                                                                                   
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo                                                                                                     
2.2    全部的表导出(仅数据导出DATA)                                                                                                    
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -content DATAONLY                                              
2.3    全部的表导出(仅表结构导出)                                                                                                    
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -content METAONLY                                                                                                                  
2.4    特定的表除外(表数据和结构都导出)
    ✳「-exclude_table」和「-include_table」不能同时存在                              
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -exclude_table "LOG,LOG2,LOG3"                                                                                                    
    ✳支持模糊检索                                                                                                    
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -exclude_table "LOG*"                                                                                           
2.5    只导出指定的表(表数据和结构都导出)             
    ✳「-exclude_table」和「-include_table」不能同时存在                                      
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -include_table "SM,LD,ST,AT,GT"                                                                                                    
    ✳支持模糊检索                                                                                                    
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -include_table "SM*"                                                                                                                
2.6    基于where条件的数据导出                                                                                                    
    ✳[-query]使用的时候必须和[-include_table]一起使用                                                                   ✳[-content METAONLY] 使用的时候 [-query] 无效                            
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -include_table "SM" -query "where NO > 100"                                                                                                    
         Export.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -include_table "SM,LD,ST,AT,GT" -query "where NO > 100"     

3)导入功能介绍
参数                                                                                                        

     -s                                     DB服务器IP                                                                                    
    -d                                      数据库名                                                                                    
    -u                                     登录用户                                                                                    
    -p                                     登录用户密码
    -schema                          数据库的schema名
    -tabs                                导入表的列表                                                                                    
    -table_exists_action        表存在时数据处理方式(可以使用的值: skip、replace。[默认值:skip]) 

使用例子                                                                                                        

3.1    导出的表全部导入(表存在的场合skip)            
         Import.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo                                                                                                                                                         
3.2    导出的表全部导入(表存在的场合替换)       
    ✳「-table_exists_action replace」使用的时候,目标表的数据全部删除后导入                                 Import.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -table_exists_action replace                                                                                                          
3.3    指定的表导入(表存在的场合skip) 
         Import.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -tabs "SM,D1,D2"                                                                                                                           
3.4    指定的表导入(表存在的场合替换)
    ✳「-table_exists_action replace」使用的时候,目标表的数据全部删除后导入                                 Import.bat -s 10.48.111.12 -d db1 -u sa -p sa -schema dbo -tabs "SM,D1,D2" -table_exists_action replace                                                                                                    
                                                                                                 
✳注意事项                                                                                                        
    1:「-table_exists_action replace」使用的时候,只是表的数据被替换,表的结构不会替换          2:导入完后、数据量很大的情况有可能生成很多的log、*.ldf文件会变得比较大                           3:指定表导入导出时,表之间的约束要考虑,否则可能出现约束加不上的情况                           4:SQLServer区分大小写,指定的表名等要和实际的名字一致   
                                                                                                        


http://www.kler.cn/a/529295.html

相关文章:

  • Web_php_unserialize
  • 71.在 Vue 3 中使用 OpenLayers 实现按住 Shift 拖拽、旋转和缩放效果
  • 【数据结构】_复杂度
  • Docker 仓库管理
  • 科技快讯 | OpenAI首次向免费用户开放推理模型;特朗普与黄仁勋会面;雷军回应“10后小学生深情表白小米SU7”
  • ROS-IMU
  • RabbitMQ持久化队列配置修改问题
  • python-leetcode-二叉搜索树迭代器
  • 基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)
  • maven构件子模块步骤及注意事项
  • w185客户关系管理系统
  • AIGC技术中常提到的 “嵌入转换到同一个向量空间中”该如何理解
  • Golang 应用的 Docker 部署方式介绍及使用详解
  • 深入解析JMeter源码:AbstractThreadGroupGui抽象类的实现机制与设计哲学
  • MySQL 基础学习(5):数据库约束
  • Epoll编程——流程、易错、关键参数
  • 【C++ 区间位运算】3209. 子数组按位与值为 K 的数目|2050
  • 【开源免费】基于Vue和SpringBoot的流浪宠物管理系统(附论文)
  • 新能源算力战争:为什么AI大模型需要绿色数据中心?
  • 【DeepSeek】本地快速搭建DeepSeek
  • 10 Flink CDC
  • 【Java异步编程】CompletableFuture实现:异步任务的串行执行
  • 编程AI深度实战:给vim装上AI
  • java_包装类
  • 边缘检测算法(candy)
  • 高速PCB设计指南6——电源完整性