首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

SQL Server的六种数据移动方法

1.通过工具DTS的设计器进行导入或导出       DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL   Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL   Server   Enterprise   Manager中,展开服务器左边的+,选择数据库,右击,选择All   tasks/Import   Data...(或All   tasks/Export   Data...),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的。而且可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。也可以直接打开DTS设计器,方法是展开服务器名称下面的Data   Transformation   Services,选Local   Packages,在右边的窗口中右击,选New   Package,就打开了DTS设计器。值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引。         其实建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化。         2.   利用Bcp工具         这种工具虽然在SQL   Server7的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQL   Server早期版本的人。Bcp有局限性,首先它的界面不是图形化的,其次它只是在SQL   Server的表(视图)与文本文件之间进行复制,但它的优点是性能好,开销小,占用内存少,速度快。有兴趣的朋友可以查参考手册。         3.   利用备份和恢复         先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了。这种方法可以完全恢复数据库,包括外键,主键,索引。       4.   直接拷贝数据文件         把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL   Server   Query   Analyzer中用语句进行恢复:     EXEC   sp_attach_db   @dbname   =   ’test’,     @filename1   =   ’d:mssql7data   est_data.mdf’,     @filename2   =   ’d:mssql7data   est_log.ldf’         这样就把test数据库附加到SQL   Server中,可以照常使用。如果不想用原来的日志文件,可以用如下的命令:       EXEC   sp_detach_db   @dbname   =   ’test’     EXEC   sp_attach_single_file_db   @dbname   =   ’test’,     @physname   =   ’d:mssql7data   est_data.mdf’         这个语句的作用是仅仅加载数据文件,日志文件可以由SQL   Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。         5.   在应用程序中定制         可以在应用程序(PB、VB)中执行自己编写的程序,也可以在Query   Analyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要时SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:     1>select   ...   into   new_tablename   where   ...     2>insert   (into)   old_tablename   select   ...   from   ...   where   ...       区别是前者把数据插入一个新表(先建立表,再插入数据),后者是把数据插入已经存在的一个表中,我个人喜欢后者,因为在编程的结构上,应用的范围上,第二条语句强于前者。         6.

03

SQL Server数据库入门基础知识

1、为什么要使用数据库? 数据库技术是计算机科学的核心技术之一。使用数据库可以高效且条理分明地存储数据、使人们能够更加迅速、方便地管理数据。数据库具有以下特点: ·可以结构化存储大量的数据信息,方便用户进行有效的检索和访问 ·可以有效地保持数据信息的一致性.完整性,降低数据冗余 ·可以满足应用的共享和安全方面的要求 2、数据库的基本概念 ⑴什么是数据? 数据就是描述事物的符号记录,数据包括数字、文字、图形、声音、图像等;数据在数据库中以“记录”的形式存储,相同格式和类型的数据将存放在一起;数据库中,每一行数据就是一条“记录”。 ⑵什么是数据库和数据库表? 不同的记录组织在一起就是数据库的“表”,也就数说表就是来存放数据的,而数据库就是“表”的集合。 ⑶什么是数据库管理系统? 数据库管理系统(DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各种操作。DBMS主要有以下功能: ·数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的转储与恢复、数据库的重组与性能监视等功能 ·数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及数据格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出, ·数据操纵功能:包括数据查询统计和数据更新两个方面 ·数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控制、数据库内部维护等功能 ·通信功能:DBMS与其他软件之间的通信 ⑷什么是数据库系统? 数据库系统是一人一机系统,一由硬件、操作系统、数据库、DBMS、应用软件和数据库用户组成。 ⑸数据库管理员(DBA) 一般负责数据库的更新和备份、数据库系统的维护、用户管理工作、保证数据库系统的正常运行。 3、数据库的发展过程 ·初级阶段-第一代数据库:在这个阶段IBM公司研制的层次模型的数据库管理系统-IMS问世 ·中级阶段-关系数据库的出现:DB2的问世、SQL语言的产生 ·高级阶段-高级数据库:各种新型数据库的产生;如工程数据库、多媒体数据库、图形数据库、智能数据库等 4、数据库的三种模型 ·网状模型:数据关系多对多、多对一,较复杂 ·层次模型:类似与公司上下级关系 ·关系模型:实体(实现世界的事物、如×××、银行账户)-关系 5、当今主流数据库 ·SQLServer:Microsoft公司的数据库产品,运行于windows系统上。 ·Oracle:甲骨文公司的产品;大型数据库的代表,支持linux、unix系统。 ·DB2:IBM公司的德加·考特提出关系模型理论,13年后IBM的DB2问世 ·MySQL:现被Oracle公司收购。运行于linux上,Apache和Nginx作为Web服务器,MySQL作为后台数据库,PHP/Perl/Python作为脚本解释器组成“LAMP”组合 6、关系型数据库 ⑴基本结构 关系数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的。在每个二维表中,每一行称为一条记录,用来描述一个对象的信息:每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据。关系数据库是由数据表之间的关联组成的。其中: ·数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性 ·数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的一个 ·数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有的属性 ⑵主键和外键 主键:是唯一标识表中的行数据,一个主键对应一行数据;主键可以有一个或多个字段组成;主键的值具有唯一性、不允许为控制(null);每个表只允许存在一个主键。 外键:外键是用于建立和加强两个表数据之间的链接的一列或多列;一个关系数据库通常包含多个表,外键可以使这些表关联起来。 ⑶数据完整性规则 ·实体完整性规则:要求关系中的元组在主键的属性上不能有null ·域完整性规则:指定一个数据集对某一个列是否有效或确定是否允许null ·引用完整性规则:如果两个表关联,引用完整性规则要求不允许引用不存在的元组 ·用户自定义完整性规则 7、SQLServer系统数据库 master数据库:记录系统级别的信息,包括所有的用户信息、系统配置、数据库文件存放位置、其他数据库的信息。如果该数据库损坏整个数据库都将瘫痪无法使用。 model数据库:数据库模板 msdb数据库:用于SQLServer代理计划警报和作业 tempdb数据库:临时文件存放地点

01

使用Navicat将SQL Server数据迁移到MySQL

在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的举措。我开发的项目或者框架,采用了微软企业库Enterprise Library的模块,倾向于支持多种数据库,也为我们开发不同类型的项目提供非常方便、快速、统一的处理方式。一般常规的数据库包括MS Server、Oracle、MySQL、PostgreSQL、SQLite、DB2、国产达梦等数据库,本篇随笔主要介绍如何实现从MS SQLServer到Mysql数据库,并为不同数据库类型添加实现底层的解决思路。

02

SQL Server数据库和表的基本管理

我们先来了解SQL Server数据库中的文件类型: 主数据文件:包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件(有且只有一个),推荐文件扩展名是.mdf; 辅助数据文件:除主数据文件以外的所有数据文件都是次要数据文件,次要数据文件主要是为了扩展数据的硬盘空间(可以有也可以没有),推荐文件扩展名是.ndf; 事务日志文件:包含恢复数据库所有事务的信息,每个数据库中至少有一个事务日志文件(有且必须有一个,可以多个),推荐文件扩展名是.idf; 文件流数据文件:可以使基于SQL的应用程序能在文件系统中存储非结构化的数据,如:文档、图片、音频、视频等。 数据文件由若干个64KB大小的区组成,每个区由8个8KB的连续页组成; 事务日志文件的存储不是以页为单位的,而是由一条条的大小不等的日志记录为单位。 创建数据库之前,需要考虑如下事项: 创建数据库的权限默认授予sysadmin和dbcreator服务器角色成员,服务器角色用于向用户授予服务器范围内的安全特权; 创建数据库的用户将成为该数据库的所有者; 考虑数据文件及日志文件的放置位置; 合理估计数据库的大小合并增长值。 接下来我们简单来一下数据的基本操作:

02

3

在本篇中,我们将首先介绍数据库设计的基本方法,并附上了一个设计MS-SQL Server数据库的例子。然后以Delphi5为开发工具,标准的paradox表为后台数据库,来向大家介绍如何进行最简单的数据库编程。   我们将实现对一个数据表单的添加、修改、删除以及对表中数据进行查询的功能。本例所使用的计算机软硬件环境为:Windows NT 4.0 Server,MS-SQL Server7.0,Borland Delphi 5,PIII550,256M内存。当然啦,一般的朋友在Win98的环境下或者Win2000的环境下都可以按照本例的步骤来编程序的。笔者的机器主要用作服务器,所以就在服务器上编啦。步骤如下。   一、数据库设计的基本方法   数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境,构造出较优的数据库模式,建立起数据库应用系统,并使系统能有效地存储数据,满足用户的各种应用需求。一般按照规范化的设计方法,常将数据库设计分为若干阶段……   二、MS-SQL Server数据库设计示例   下面,笔者还为各位网友准备了一套数据库大餐,这就是在MS-SQL Server下的Client/Server结构编程示例……   三、数据库编程示例   在本次讲座中,我们以Delphi5为开发工具,标准的paradox表为后台数据库,来向大家介绍如何进行最简单的数据库编程。在本例中,我们将实现对一个数据表单的添加、修改、删除以及对表中数据进行查询的功能……   四、大型数据库设计原则   一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低……

02
领券