数据库导出只能在安装的服务器吗

数据库导出只能在安装的服务器吗,第1张

最好装在服务器上,因为服务器稳定,而数据库对于应用来说非常重要,需要稳定。

你如果装在PC电脑上,没有服务器稳定,可能发生

系统崩溃

,硬件突然故障等问题。影响你的应用使用。

要知道数据库崩溃而且没有备份的话,会非常麻烦的。。。

有四种方式导出数据库:

1、数据库备份方式:将相应数据库备份,使用其备份文件。

2、直接拷备mdf、_logldf文件:将数据库脱机或断开数据库服务,直接拷备文件使用,在另一服务器通过“数据库-附加”方式使用。

3、脚本导出(不适合大批量数据):生成带数据的脚本,在另一服务器直接执行。(sql server2000不支持)。

4、数据库复制:可相互访问局域网内,通过数据库复制,直接将其导出、导入。

注意:以上方式,要注意数据库间的版本,低版本sql server不可向高版本兼容。

方法1:SQL Server 2008 自带的导出功能 “任务 → 生成脚本”

1

打开sql server 2008 后,选择你要导出的数据库

2

在数据库上右击,选择任务→生成脚本

3

进入简介页面,直接点击下一步就可以了

4

选择对象页面,可以选择导出整个数据库的脚本,或者其中的部分表,很灵活

5

进入设置脚本选项,首先把导出的路径选择好

防止一会儿忘记设置路径,找不到导去哪里了

然后点击高级

6

在高级选项页面,在左侧找到要编写脚本的数据类型,然后在右侧的下拉框中选择架构和数据

这一步操作千万不要忘记了!除非你不想要数据,只要表的结构。

之后回到编写选项的页面,点击下一步

7

要摘要页面,可以做个简单的检查,看前面的选择是不是您想要的

检查无误,点击下一步,开始执行

8

好了,导出成功啦 \(^o^)/

快快去你设置的路径找脚本吧

END

方法2:动软代码生成器

1

打开动软代码生成器,并连接上数据数

2

点击右侧的数据库脚本生成器

3

选择你要导出的数据库

4

选择保存的路径和名字,然后选择要导出的表,可以选择全部表或部分表

设置好后,点击生成

5

OK啦,是不是 So Easy

  一、导出导入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\tnsnamesora里配置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企业或者个人版数据库做中转。

用途:将远程服务器的数据库拷到本地。

Java代码

复制代码代码如下:

mysqldump -h '114212111123' -uROSE -pxxxooo --opt --compress ITSM --skip-lock-tables | mysql -h localhost -uroot -proot ITSMC

解释:

114212111123 远程服务器名称

ROSE 远程数据库登录名

xxxooo 远程数据库登录密码

ITSM远程数据库名(即:复制的源)

localhost 本地数据库名称(一般情况下都是这个)

root 本地数据库登录名(一般情况下都是这个)

root 本地数据库登录密码(一般情况下都是这个)

ITSMC 本地(即:复制的目的)

sql解释:

mysqldump 是mysql的一个专门用于拷贝操作的命令

--opt 操作的意思

--compress 压缩要传输的数据

--skip-lock 忽略锁住的表(加上这句能防止当表有外键时的报错)

-tables 某数据库所有表

-h 服务器名称

-u 用户名(后面无空格,直接加用户名)

-p 密码(后面无空格,直接加密码)

注意:

-u、-p的后面没有空格,直接加用户名和密码!!!

MYSQL数据库导出第一种利用空间商提供的PHPMYADMIN管理工具导出,这种较为简单,大家查一下资料这里就不多讲了

第二种利用MYSQL安装时自带的mysqldump管理工具导出:

1)左下角开始菜单-运行-CMD进入DOS命令行状态

2)输入:CD D:/Program Files/MySQL/MySQL Server 50/bin

D:/Program Files/MySQL/MySQL Server 50/bin为你安装的MYSQL安装目录,/bin为mysqldump管理工具所有在的目录;

3)导出语法为:

mysqldump -h[hosname] -u[user_name] -p[password] --default-character-set=[char_set_name] [db_name] [save_path]

例:然后输入:mysqldump -h119121211 -umysql-pmysql123--default-character-set=utf8 aspchina --skip-lock-tables d:/aspchina_netsql

119121211为远程服务器IP,-umysql mysql为数据库用户名,-pmysql123 mysql123 为用户密码,set=utf8为导出MYSQL的编码格式,aspchina为要导出的数据库名,d:/aspchina_netsql 为导入到你本地的存放路径,aspchina_netsql你可以自由命名!

MYSQL数据库导入

如果MYSQL数据库小于2MB可以用mysqldump管理工具导入,如果大小2MB就不行了,因为空间商提供的PHPMYADMIN管理工具一般只能导入小于2MB的数据,这令一些使用MYSQL数据库的站长郁闷了!

1)左下角开始菜单-运行-CMD进入DOS命令行状态

2)D:/Program Files/MySQL/MySQL Server 50/bin为你安装的MYSQL安装目录,/bin为mysqldump管理工具所有在的目录;

3)然后输入:mysql -h119121211 -uaspchina -paspchina123456 aspchina< d:/aspchina_netsql

注释:aspchina_netsql,如果用户没有创建数据库的权限将不能导入aspchina_netsql数据库,否则spchina_netsql只能是多张表不然会出错,这点切记!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 数据库导出只能在安装的服务器吗

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情