网站备案信息更改,做网站图片像素,网站建立的流程,天长做网站1、开发背景
大家都很熟悉#xff0c;Oracle提供了Impdp和ExpDp工具#xff0c;功能很强大#xff0c;可以进行db的导入导出的处理。但是对于Sqlserver数据库只是提供了简单的图形化的导出导入工具#xff0c;在实际的开发和生产环境不太可能让用户在图形化的界面选择移行…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 ✳注意事项 「-table_exists_action replace」使用的时候只是表的数据被替换表的结构不会替换 导入完后、数据量很大的情况有可能生成很多的log、*.ldf文件会变得比较大 指定表导入导出时表之间的约束要考虑否则可能出现约束加不上的情况 SQLServer区分大小写指定的表名等要和实际的名字一致