代码改变世界

随笔分类 -  00.SQL Server 数据迁移

SQL Server 动态生成数据库所有表Insert语句

2014-10-31 10:27 by 听风吹雨, 8507 阅读, 收藏, 编辑
摘要: 一、 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便; 但是,当我们的表有上百个,而且有些表是有自增ID的,那么这个时候使用SSMS的话,你需要一个个手动设置(如图1),你要知道,需要设置上百个的这些选项是件多么痛苦的事情,而且最后很可能会因为外键约束导致导入导 阅读全文

SQL Server 大数据搬迁之文件组备份还原实战

2014-03-05 11:15 by 听风吹雨, 14961 阅读, 收藏, 编辑
摘要: 有一个数据库大概在700G左右,需要从服务器A搬迁到服务器B,两台服务器网络传输速度可以达到8MB/s,怎么做才能更快的搬迁并且宕机时间最短呢?   数据库业务逻辑概述:这个数据库只会插入数据,每天大概有300W条数据,不会对数据进行修改,只有一个表比较大,并且这个表是以自增ID作为分区依据列的,文件组会被重用,数据库为简单恢复模式,我定时会对表数据进行交换分区删除数据;三.解决方案(Solution)之前我也写过关于搬迁数据库的一些文章: 阅读全文

SQL Server 迁移数据到MySQL

2013-08-05 11:59 by 听风吹雨, 61093 阅读, 收藏, 编辑
摘要: 一、背景由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据转移到MySQL;由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据;上网找了些资料,如:将ACCESS和MSSQL导入MYSQL中、MySQL Migration 实现 MSSQL 到 MySQL数据迁移,虽然不知道里面的做法是否可以成功转移,但是里面的过程比较复杂,没有去尝试,后来自己找到了方法,最重要就是简单和准确 阅读全文

SQL Server 数据库迁移偏方

2011-04-28 17:51 by 听风吹雨, 10203 阅读, 收藏, 编辑
摘要: 一、目的之前在博文SQL Server 数据库最小宕机迁移方案中提到了使用了完全备份+差异备份的功能完成了数据库的转移,但是这个方法在遇到了700多G的数据时显然不适用,所以这篇中我是如何迁移700G的数据库到新的服务器的。二、分析与设计思路(一)环境描述我们的数据库使用了SQL Server 2005的,部署在Windows Server 2003 x86位操作系统上,有一个表占了这个数据库大部分的空间。面对上面的情况,我们的数据库压力比较大了,所以我们打算在同一个集群中找另外一台机器,转移这个数据库的数据过去,通过设置新服务器的一些参数来达到优化这个数据库的目的。(二)数据分析在拿到一个数 阅读全文

SQL Server 数据库最小宕机迁移方案

2011-03-30 17:44 by 听风吹雨, 8532 阅读, 收藏, 编辑
摘要: 一、目的在做SQL Server数据库维护的时候,当上司要求我们把几十G的数据文件搬动到其它服务器,并且要求最小宕机时间的时候,我们有没什么方案可以做到这些要求呢?在这里我们假设这两台机器并不是在一个机房上,这样看起来我们的解决方案才更有意义,如果你那么好运这两台机器在同一个局域网,那么恭喜你,你可以多很多的方案可以做到。二、分析与设计思路其实我们假设的环境有两个特点:第一个是数据库文件比较大;第二个就是我们的传送文件的速度可能会比较慢。也许这传送速度我们是没有办法了,但是我们可以就从文件的大小这个问题出发,结合SQL Server的特性,这样就有了下面的解决方案了。为了使宕机时间最短,我们这 阅读全文

SQL Server 创建链接服务器

2010-09-09 14:43 by 听风吹雨, 65644 阅读, 收藏, 编辑
摘要: 适用场景:对远程的DB进行操作。2000与2005对比:在SQL Server 2000版本中也有链接远程DB的SQL,但是功能比较弱,扩展性差,支持的查询比较简单。而SQL Server 2005版本的SSMS中已经有了 服务器对象->链接服务器 的功能点,用户首先创建一个远程DB的链接对象,之后就可以像本地表一样执行表的DML了。创建步骤:在SQL Server 2005版本打开SSMS,服务器对象->链接服务器->右击 新建链接服务器,在图2中是一种设置方式,也有其它的设置方式,比如:[图解]sqlserver中创建链接服务器,图3是安全性选项中设置远程数据库的账号和密 阅读全文

SQL Server 批量生成bcp命令

2010-06-02 15:41 by 听风吹雨, 3531 阅读, 收藏, 编辑
摘要: 特别说明一下,这个批量生成bcp命令是有一些条件限制的:需要导出数据的表的名称是要有规律的,表的名称是需要连续、不间断的,表名最好是以数字来递增的,不过也可以是字母的。 我之所以会写这个批量生成SQL是因为我数据库中表名类似于:RawActivatePDPContextReq_0401,RawActivatePDPContextReq_0402,RawActivatePDPContextReq_0403等等,所以下面的SQL对大部分人来说没有什么意义,但我想表达的是:我们可以SQL来解决一些问题。 图1是一个适用使用本文这个脚本的数据库表列表,我们的需求是为gbRawActivate2... 阅读全文

SQL Server 使用bcp进行大数据量导出导入

2010-04-17 20:03 by 听风吹雨, 11400 阅读, 收藏, 编辑
摘要: SQL Server的导出导入方式有:在SQL Server中提供了导入导出的界面操作。在界面操作中又分【复制一个或多个表或视图的数据】和【编写查询以指定要传输的数据】两种模式,第一种是直接对表、视图进行全部字段、记录进行导出,而第二种就是可以通过SQL语句来控制导出导入的字段和行。使用 简单但有用的SQL脚本 中的【表复制】这里面的方法。 再一种就是在命令行中使用bcp命令来导入导出数据,需要特别说明的是,这是对大数据量导入导出就好的办法。下面是我实践出来可以使用的脚本,但是我在使用bcp的时候遇到了一些问题,希望大家给于帮助。谢谢。(PS:问题在下面代码中)使用xp_cmdshel... 阅读全文