`
wangyihust
  • 浏览: 438433 次
文章分类
社区版块
存档分类
最新评论

SQL Server导出导入数据方法

阅读更多
一、导出导入SQL Server里某个数据库

1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。

2.备份 选数据库-完全,
  目的 备份到 按添加按钮
  文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)
  重写 选重写现有媒体
  最后按确定按钮。
  如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。
 
3.通过FTP或者remote desktop或者pcanywhere等方法
  把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。
 
4.目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库;
  然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库
  还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定
  还原备份集->数据库-完全
  最后按确定按钮。完全的数据库导入成功了。
  (如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复操做失败,
   可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁,
   然后再做还原)

注意:如果在原有的目的SQL Server数据库上从备份文件(*.bak)还原数据库
      会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。
     
      如果一定要还原备份文件(*.bak)里部分数据,需要另外建一个新数据库,
      其逻辑名称和数量同备份文件(*.bak)里数据库的逻辑名称和数量一致;
      新数据库的物理文件名称取得一定要和备份文件(*.bak)里数据库的物理文件不一样才行。

二、导出导入SQL Server里某个表

1.没有防火墙,同一个局域网里或不在同一个局域网里,但通过Internet可以互相访问

  在SQL Server企业管理器里选中目的数据库 ,按鼠标右键,选所有任务->导入数据->
  弹出数据转换服务导入/导出向导窗口->下一步->
 
  选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->
    服务器(可选择局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->
    选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->
    数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->
 
  选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->
    服务器(默认为上一步里选中的导出服务器,也可以选其它局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->
    目的数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->
 
  制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->
    选择源表和视图->在要导入的表和视图前面选中源->目的出现同样的表名(可以手工修改成别的表名)->
    转换->列映射和转换里面可以修改源表和目的表之间字段的对应关系,修改目的表字段的类型和长度等,
    并可以选择创建目的表,在目的表中增加行,除去并重新创建目的表,启用标志插入等选项->确定->下一步->
 
  保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出导入数据,选调度DTS包以便以后执行)->
    保存(可以不选)->[ 保存DTS包(如果以后还要转移这批相同的数据,可以把本次导出导入的内容和步骤保存起来,
    存到SQL Server即可,保存的时候要输入DTS的包名及详细描述)->下一步-> ]->完成
 
  正在执行包->图形界面显示创建表及插入记录的步骤和状态->完成

2.经过防火墙,不在同一个局域网里

①、导出表里的数据到文本文件:
    在SQL Server企业管理器里选中目的数据库,按鼠标右键,选所有任务->
    导入数据->弹出数据转换服务导入/导出向导窗口->下一步->

    选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->
      服务器(可选择局域网内能访问到的所有SQL Server服务器)->
      选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->
      数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->

    选择目的->目的(文本文件)-> 文件名(在自己的电脑硬盘中生成一个自定义的文本文件) ->下一步->

    制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->

    选择目的文件格式->源(选择要导出的表)->用默认的带分隔符->选第一行包含有列名称选项->下一步->

    保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出到文本文件,选调度DTS包以便以后执行)->
      保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成
 
    正在执行包->图形界面显示表到文本文件的步骤和状态->完成

    如果生成的文本文件大于1M,要用压缩工具压缩后再到Internet上传输。

②、通过FTP或者remote desktop或者pcanywhere等方法把
    第①步生成的文本文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。

③、把文本文件导入目的SQL Server数据库
    直接把文本文件导入目的SQL Server数据库里跟文本文件同名的新表名时,默认的会把所有字段类型都变成字符串。

    所以我们要这样做:
    在源SQL Server数据库上先生成创建表的sql语句

    在SQL Server查询分析器里->选中源数据库里表名->按右键->在新窗口中编写对象脚本->创建->
      复制下新窗口内创建表名的sql语句

    到目标SQL Server数据库上查询分析器里执行创建表名的sql语句,生成空表结构。
    (如果已经存在这样的表名,修改建表的sql语句,在表名后面加上导入时间的年月信息,例如table_0113)

    调用导入/导出工具->弹出数据转换服务导入/导出向导窗口->下一步->

    选数据源-> 数据源(文本文件)->
      文件名(已传到目的SQL Server数据库下要导入的文本文件,后缀可以不是*.txt,
      但是常规文本编辑器能打开的文件,文件类型选全部)->下一步->

    选择文件格式->用默认的带分隔符->选第一行包含有列名称选项->下一步->
      制定列分割符->逗号->下一步->

    选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->
      服务器(可选择目标局域网内能访问到的所有SQL Server服务器)->
      选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->
      数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->
 
    选择源表和视图->修改目的表名为刚才创建的表名->转换(在目的表中追加行) ->下一步->
    保存、调度和复制包->
      时间->立即运行(如果要实现隔一段时间自动把文本文件导入,选调度DTS包以便以后执行)->
      保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成
 
    正在执行包->图形界面显示文本文件到表的步骤和状态->完成

    如果要更改导入时间的年月信息的表名,例如table_0113到原来的表名,
    在企业管理器里把原来的表名改成table_old_0113,table_0113改名成table。
    这会对应用程序里频繁访问的表照成一定的中断。

注意:源表上的建的索引和主键约束不能用上面介绍的1和2方法转移过来,还需要手工来建索引和主键。
      标志种子和not null的约束可以继承过来。
      导入视图时会把源视图里所有的真实数据导入成一个新表,而不是视图。

三、SQL Server存储过程或用户定义的函数导出导入

1、导出存储过程或用户定义的函数成*.sql文件

    在SQL Server企业管理器里选中源数据库,
    存储过程->单选或者多选中要转移的存储过程->
    用户定义的函数->单选或者多选中要转移的函数->
    按鼠标右键,选所有任务->生成SQL脚本->确定->在自己的电脑硬盘中生成一个自定义的*.sql文件->
      保存->正在生成SQL脚本->成功

2、如果目的数据库经过防火墙,不在同一个局域网里,
   要通过FTP或者remote desktop或者pcanywhere等方法把第1步生成的*.sql文件传到目的SQL Server数据库服务器上。

3、用查询分析器进入SQL Server目的数据库,
    从菜单里选文件->打开->打开查询文件->选中第1步生成的*.sql文件->点执行查询的绿色倒三角型快捷键->
    查询窗口里会出现执行后的消息(有时候可能因为存储过程和用户定义的函数之间有一定的依赖关系,会报一些错。
    最好先执行用户定义的函数的*.sql文件,再执行存储过程的*.sql文件)

四、ORACLE数据库里表导入SQL Server数据库

1、在目的SQL Server数据库服务器上安装ORACLE Client软件或者ORACLE ODBC Driver.
   在$ORACLE_HOME\network\admin\tnsnames.ora里配置ORACLE数据库的别名(service name)。

2、在WIN2000或者win2003服务器->管理工具->数据源(ODBC)->

   系统DSN(本机器上NT域用户都可以用)->添加->ORACLE ODBC Driver->完成->

   data source name 可以自定义,我一般填ORACLE数据库的sid标志,
     description里可以填ORACLE数据库详细描述,也可以不填->

   data source service name 填第1步定义的ORACLE数据库别名->OK。

   (用户DSN和文件DSN也可以类似配置,但使用的时候有一些限制)

3、SQL Server的导入和导出数据工具里->选数据源-> 数据源(其它(ODBC数据源))->
   选第2步在ODBC里定义的系统DSN source name,用户名密码处填写ORACLE系统的用户名和密码->
   下一步->选择目的,选SQL Server数据库(跟上面第二点讲的一致,就不重复了)。

    注意:在ORACLE表和SQL Server表之间'转换'那步很重要,
          可以改变默认的字段数据类型,如image->text,decimal->int

五、SQL Server数据库里表导入ORACLE数据库

   方法一.导出目的选通过ODBC数据源里定义的ORACLE数据库, 注意ORACLE里表名都是大写的.
     我一般在ORACLE这边先生成好表结构,再选择SQL SERVER源表往ORACLE目的表里追加数据.
     数据传输速度比方法二慢.
  
   方法二.从SQL Server数据库导入数据到ORACLE数据库可以选择用Windows下ORACLE9i企业或者个人版数据库做中转。
   
   具体配置方法可以参考:
  
   Oracle 异构服务实践
   

    注意:ORACLE通过访问SQL Server的数据库链接时,用select * 的时候字段名是用双引号引起来的。


分享到:
评论

相关推荐

    sql server 数据库导入导出方法

    SQL Server 数据库导入导出的方法 SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍...

    SQLServer导出导入的方法

    本文旨在介绍 SQL Server 的导出导入方法,涵盖了数据库和表的导出导入,涵盖了两种常见的场景:局域网内的导出导入和经过防火墙的导出导入。 数据库导出导入 在 SQL Server 企业管理器中,选中要转移的数据库,按...

    Sql Server 存储过程的导出导入.doc

    本文主要介绍如何在SQL Server中导出和导入存储过程。 首先,导出存储过程的步骤如下: 1. 打开SQL Server Management Studio(简称SSMS),这是一个用于管理SQL Server数据库的强大工具。 2. 在对象资源管理器中...

    SQL Server中导入导出数据三方法比较

    - 当需要从非SQL Server数据库导入数据时,可以利用OPENDATASOURCE和OPENROWSET两个函数。这些函数允许SQL Server通过OLE DB Provider访问其他数据库中的数据。 - `OPENDATASOURCE`:用于连接到另一个数据源,但不...

    EXCEL与SQL SERVER 的导入与导出

    本主题主要探讨的是如何在Excel和SQL Server之间进行数据的导入与导出操作,以及相关的C#编程技术。 首先,Excel到SQL Server的导出通常用于将Excel中的数据批量导入到数据库中。这在数据分析、报表生成或者系统...

    sql server 2005 导入和导出选择数据源

    在实际应用场景中,常常需要将Excel或Access等办公软件中的数据导入到SQL Server中,或者从SQL Server导出数据到这些办公软件中。SQL Server 2005支持多种办公软件数据源,包括: - **Microsoft Office Excel**:...

    C#对SQLServer中的数据导入导出.pdf

    具体而言,自定义方法`ExcelToDS`实现了这一过程,它接受Excel文件路径作为参数,返回一个包含导入数据的`DataSet`对象。此方法首先构建连接字符串,然后使用`OleDbConnection`类建立连接,通过`OleDbDataAdapter`...

    SQLServer导出为Insert语句

    这种方法允许在不依赖原数据库结构的情况下导入数据,同时也方便对数据进行修改或筛选。 8. **安全与性能**:在执行这类操作时,需要注意数据的安全性和性能影响。比如,如果数据量大,直接运行大量Insert语句可能...

    SQL Server数据库导入导出技术

    SQL Server数据库导入导出技术是数据库管理员和开发人员在整合数据、迁移数据库或进行数据备份时常用的一种功能。SQL Server提供了多种方式进行数据导入和导出,以满足不同场景的需求。下面我们将详细介绍这些方法...

    SQLSERVER脚本导出导入.zip

    C# SQL SERVER 脚本导出导入 ; SQL SERVER 导出;SQL SERVER 导入;SQL SERVER 数据库 导出;SQL SERVER 数据库 导入; 实现功能 和SQL Server 2014 Management Studio 里面的生成脚本相似 介绍地址:...

    SQL_SERVER数据导入导出工具

    SQL_SERVER数据导入导出工具是数据库管理中必不可少的辅助软件,尤其对于SQL Server数据库的开发者和管理员来说,它极大地提高了工作效率。此工具主要用于方便、快捷地将数据从SQL Server数据库导出,同时也能进行...

    SQL Server 2016 多种导入EXCEL 2013表数据的方法

    3. **SQLServer查询分析器使用代码导入数据** - 此方法需要一些前提条件: - 安装Microsoft Access 2010数据库引擎可再发行程序包。 - 配置Microsoft.ACE.OLEDB.12.0接口参数,启用动态参数和允许进程内选项。 -...

    SQL Server三种导入导出数据方式比较

    SQL Server 三种导入导出数据方式比较 在本文中,我们将详细比较 SQL Server 中的三种导入导出数据方式:使用 Transact-SQL 对数据进行处理;调用命令行工具 bcp 处理数据;使用数据转换服务(DTS)对数据进行处理...

    bcp—SQLServer命令行数据导入导出工具使用总结.txt

    bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。

    SQLServer数据库表中数据导出成SQL语句工具

    针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具”的实用程序,它能够帮助我们高效地完成这项任务。这个工具通常以MHT(Multi-Part/Related)格式提供,这是一种单一文件Web页面存储格式,...

    SQL SERVER数据导入导出等辅助功能小工具

    SSIS是SQL Server中用于ETL(Extract, Transform, Load)操作的强大工具,支持从各种数据源导入数据,如文本文件、Excel表格、其他数据库等,并能对数据进行清洗、转换,然后导出到SQL Server中。通过图形化界面...

    sql server 2008 导入导出数据大全

    sql server 2008 导入导出数据大全 /******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q - S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入ExcelSELECT * ...

    SQL SERVER自动导出Word数据库文档

    6. **PowerShell**:另一种方法是使用PowerShell,它提供了丰富的SQL Server模块,可以调用SQL命令行工具(如sqlcmd或bcp)来导出数据,然后通过PowerShell脚本控制Word文档的操作。 7. **Third-party Tools**:...

    Sqlserver表数据导出成Insert语句的工具

    此工具可以将SQL Server表数据导出成Insert语句。SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,此工具可以将SQL Server表数据导出成Insert语句。

Global site tag (gtag.js) - Google Analytics