应用特征数据库升级
㈠ android 数据库升级会清空以前存的数据吗
Android应用程序更新的时候如果数据库修改了字段需要更新数据库,并且保留原来的数据库数据:
这是原有的数据库表
CREATE_BOOK = "create table book(bookId integer primarykey,bookName text);";
然后我们增加一个字段:
CREATE_BOOK = "create table book(bookId integer primarykey,bookName text,bookContent text);";
首先我们需要把原来的数据库表重命名一下
CREATE_TEMP_BOOK = "alter table book rename to _temp_book";
然后把备份表中的数据到新创建的数据库表中
INSERT_DATA = "insert into book select *,' ' from _temp_book";(注意' '是为新加的字段插入默认值的必须加上,否则就会出错)。
然后我们把备份表干掉就行啦。
DROP_BOOK = "drop table _temp_book";
然后把数据库的版本后修改一下,再次创建数据库操作对象的时候就会自动更新(注:更新的时候第一个创建的操作数据的对象必须是可写的,也就是通过这个方法getWritableDatabase()获取的数据库操作对象)
然后在onUpgrade()方法中执行上述sql语句就OK了
public class DBservice extends SQLiteOpenHelper{
private String CREATE_BOOK = "create table book(bookId integer primarykey,bookName text);";
private String CREATE_TEMP_BOOK = "alter table book rename to _temp_book";
private String INSERT_DATA = "insert into book select *,'' from _temp_book";
private String DROP_BOOK = "drop table _temp_book";
public DBservice(Context context, String name, CursorFactory factory,int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_BOOK);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (newVersion) {
case 2:
db.execSQL(CREATE_TEMP_BOOK);
db.execSQL(CREATE_BOOK);
db.execSQL(INSERT_DATA);
db.execSQL(DROP_BOOK);
break;
}
}
㈡ sqlserver升级需要注意哪些事项
1,建立一系列检查表;DBA和开发人员应准备一系列需要在数据库升级前,升级期间和升级后执行的检查表。
2,备份所有的重要文件;数据库文件以及任何应用文件,脚本文件,extract file等。
3,保证数据库一致性;对要升级的数据库运行DBCC CHECKDB,以确保它们在执行升级前处于一致的状态。
4,保留足够的磁盘空间;估计在sql server升级过程中升级sql server组件,用户数据库以及任何数据库文件所需的磁盘空间,升级过程中所需的磁盘容量,可能是升级完成后所需容量的2-4倍。
5,确保系统数据库所需的磁盘空间;配置系统数据库(master,model,msdb,tempdb),使其在升级过程中自动增长,并确保它们有足够的磁盘空间。
6,传输登录信息;sql server升级前确保所有的数据库服务器把登录信息放在master数据库中,这一步对恢复数据库很重要,因为系统登录信息驻留在master数据库中,并且在新实例中必须进行重建。
7,禁用所有的启动存储过程;升级过程往往会多次停止和启动正在升级的sql server实例,设置为启动时执行存储过程可能会阻止升级过程。
8,停止复制;停止复制并确保复制日志是空的,以便开始升级过程。
9,退出所有应用程序;如果本地应用程序连接到要升级的实例,则某些应用程序,包括sql server依赖的所有服务,可能会导致升级过程失败。
10,在升级后注册服务器;sql server升级过程将删除以前的sql server实例的注册表设置,升级以后,必须注册服务器。
11,重新植入全文目录;sql server升级过程将数据库标记为禁用全文本,目录必须被重新植入,但是安装程序不会自动地运行该操作,因为它可能比较耗时,该操作增强了sql server 2005系统的性能,所以应计划在升级后的某个方便时间重新植入全文目录。
12,更新统计信息;为了帮助优化查询性能,升级后应更新所有数据库的统计信息。
13,更新使用计数器;在sql server的早期版本中,表及索引行数和页数的值可能会出现错误,为了纠正任何不合法的行数或页数,升级后对所有数据库运行DBCC UPDATESAGE。
14,配置新的sql server安装。为了减少系统的可攻击外围区域,sql server 2005有选择地安装和激活关健的服务和性能,你需要定制该配置,以便得到本次安装的最佳安全性,性能和功能。
㈢ 业务生产系统数据库升级可以作业么
可以
生产数据库升级是一个比较痛苦的工作。要升级到新的结构,还要保证原有的数据不受影响。
1)准备一个和生产数据库同一版本的模板数据库。如果可以直接拿到生产数据库的备份最好。如果不行,就自己产生一些模拟数据,最重要的是保证各种特征的数据都有,尽量保证所有的表都有数据。备份一份准备好的模板数据库,留待以后的测试。
2)安装新的软件,生成新的数据库。
3)利用工具比较两个数据库的schema,生成升级的脚本。这样工作手工做可能是非常恐怖的事。
4)分析和验证工具生成的升级脚本。主要工作是看看在字段发生改变的表里,数据的转换是否正确,增加字段的表里,添加的默认值是否合适。然后,逐段运行脚本,检查脚本运行是否能够通过,同时,转换是否正确。一定不要什么都不管,从头到尾运行。注意,经常存盘和备份,保证不丢失修改。
5)用一个干净的模板数据库,重新运行完整的脚本。用schem比较工具查看是否所有的修改都做好了。
6)如果没问题,使用数据库的数据比较工具,比较数据。主要两个工作,所有的配置数据和系统预置数据是否一致。已有的生产数据有没有被破坏。选择需要升级的部分数据,生成升级脚本。
7)利用升级脚本逐段测试,验证。
8)一次运行整个脚本,进行测试,验证。
9)重新用一个新的模板库,进行两个脚本的验证。
10)如果没有问题了,进行全面的功能测试。发现问题的时候,修改脚本重新测试。
一定要注意的问题:
1)数据库中的所有constraint一定要有名称。没有名称,数据安装的时候会自动生成一个带随机数ID的名字,只会造成每个机器的升级脚本都不一致。没有办法做标准的升级脚本。
2)如果使用SQL server,Redgate SQL toolbelt是一个很好用的比较工具。
3)把脚本分成schema升级和数据升级,会节约和多时间,提高脚本的可维护性。
4)一定要保证真正读懂了数据升级脚本。
㈣ 数据库技术的国内外发展与应用现状
数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。
随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础。
1.1 数据库技术的发展与应用
从20世纪60年代末期开始到现在,数据库技术已经发展了30多年。在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。
1.1.1 数据库技术与信息技术
信息技术(Information Technology,IT)是当今使用频率最高的名词之一,它随着计算机技术在工业、农业以及日常生活中的广泛应用,已经被越来越多的个人和企业作为自己赶超世界潮流的标志之一。而数据库技术则是信息技术中一个重要的支撑。没有数据库技术,人们在浩瀚的信息世界中将显得手足无措。
数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。
1.1.2 数据库技术的应用及特点
数据库最初是在大公司或大机构中用作大规模事务处理的基础。后来随着个人计算机的普及,数据库技术被移植到PC机(Personal Computer,个人计算机)上,供单用户个人数据库应用。接着,由于PC机在工作组内连成网,数据库技术就移植到工作组级。现在,数据库正在Internet和内联网中广泛使用。
20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。现在,数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。
1.1.3 数据库技术发展历史
数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程,数据库技术从开始到现在短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。
1. 第一代数据库系统
第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。20世纪60年代末70年代初,美国数据库系统语言协会CODASYL(Conference on Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了若干报告,被称为DBTG报告。DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术,是网状数据库的典型代表。在DBTG思想和方法的指引下数据库系统的实现技术不断成熟,开发了许多商品化的数据库系统,它们都是基于层次模型和网状模型的。
可以说,层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基者。
2. 第二代数据库系统
第二代数据库系统是关系数据库系统。1970年IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。Edgar F. Codd于1981年被授予ACM图灵奖,以表彰他在关系数据库研究方面的杰出贡献。
20世纪70年代是关系数据库理论研究和原型开发的时代,其中以IBM公司的San Jose研究试验室开发的System R和Berkeley大学研制的Ingres为典型代表。大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Ingres、Oracle、Informix、Sybase等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。
3. 第三代数据库系统
从20世纪80年代以来,数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,并在应用中提出了一些新的数据管理的需求,推动了数据库技术的研究与发展。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的三个基本特征:
l 应支持数据管理、对象管理和知识管理。
l 必须保持或继承第二代数据库系统的技术。
l 必须对其他系统开放。
面向对象数据模型是第三代数据库系统的主要特征之一;数据库技术与多学科技术的有机结合也是第三代数据库技术的一个重要特征。分布式数据库、并行数据库、工程数据库、演绎数据库、知识库、多媒体库、模糊数据库等都是这方面的实例。
1.1.4 数据库系统访问技术
目前访问数据库服务器的主流标准接口主要有ODBC、OLE DB和ADO。下面分别对这三种接口进行概要介绍。
1. 开放数据库连接(ODBC)
开放数据库连接(Open Database Connectivity,ODBC)是由Microsoft公司定义的一种数据库访问标准。使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库,例如可以访问SQL Server、Oracle、Informix或DB2构建的数据库等。
ODBC是一种重要的访问数据库的应用程序编程接口(Application Programming Interface,API),基于标准的SQL语句,它的核心就是SQL语句,因此,为了通过ODBC访问数据库服务器,数据库服务器必须支持SQL语句。
ODBC通过一组标准的函数(ODBC API)调用来实现数据库的访问,但是程序员不必理解这些ODBC,API就可以轻松开发基于ODBC的客户机/服务器应用程序。这是因为在很多流行的程序开发语言中,如Visual Basic、PowerBuilder、Visual C++等,都提供了封装ODBC各种标准函数的代码层,开发人员可以直接使用这些标准函数。
ODBC获得了巨大成功并大大简化了一些数据库开发工作。但是它也存在严重的不足,因此Microsoft公司又开发了OLE DB。
2. OLE DB
OLE DB是Microsoft公司提供的关于数据库系统级程序的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。OLE DB实际上是Microsoft公司OLE对象标准的一个实现。OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。
一般说来,OLE DB提供了两种访问数据库的方法:一种是通过ODBC驱动器访问支持SQL语言的数据库服务器;另一种是直接通过原始的OLE DB提供程序。因为ODBC只适用于支持SQL语言的数据库,因此ODBC的使用范围过于狭窄,目前Microsoft公司正在逐步用OLE DB来取代ODBC。
因为OLE DB是一个面向对象的接口,特别适合于面向对象语言。然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。
3. 动态数据对象(ADO)
动态数据对象(Active Data Objects,ADO)是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用。ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。Microsoft公司声称,ADO将替换其他的数据访问方式,所以ADO对于任何使用Microsoft公司产品的数据库应用是至关重要的。
1.1.5 网络数据库系统编程技术
在当今网络盛行的年代,数据库与Web技术的结合正在深刻改变着网络应用。有了数据库的支持,扩展网页功能、设计交互式页面、构造功能强大的后台管理系统、更新网站和维护网站都将变得轻而易举。随着网络应用的深入,Web数据库技术将日益显示出其重要地位。在这里简单介绍一下Web数据库开发的相关技术。
1. 通用网关接口(CGI)编程
通用网关接口(Common Gateway Interface,CGI)是一种通信标准,它的任务是接受客户端的请求,经过辨认和处理,生成HTML文档并重新传回到客户端。这种交流过程的编程就叫做CGI编程。CGI可以运行在多种平台上,具有强大的功能,可以使用多种语言编程,如Visual Basic、Visual C++、Tcl、Perl、AppletScript等,比较常见的是用Perl语言编写的CGI程序。但是CGI也有其致命的弱点,即速度慢和安全性差等。
2. 动态服务器页面(ASP)
动态服务器页面(Active Server Pages,ASP)是Microsoft公司推出的一种用以取代CGI的技术,是一种真正简便易学、功能强大的服务器编程技术。ASP实际上是Microsoft公司开发的一套服务器端脚本运行环境,通过ASP可以建立动态的、交互的、高效的Web服务器应用程序。用ASP编写的程序都在服务器端执行,程序执行完毕后,再将执行的结果返回给客户端浏览器,这样不仅减轻了客户端浏览器的负担,大大提高了交互速度,而且避免了ASP程序源代码的外泄,提高了程序的安全性。
3. Java 服务器页面(JSP)
Java服务器页面(Java Server Pages,JSP)是Sun公司发布的Web应用程序开发技术,一经推出,就受到了人们的广泛关注。JSP技术为创建高度动态的Web应用程序提供了一个独特的开发环境,它能够适用于市场上大多数的服务器产品。
JSP使用Java语言编写服务器端程序,当客户端向服务器发出请求时,JSP源程序被编译成Servlet并由Java虚拟机执行。这种编译操作仅在对JSP页面的第一次请求时发生。因此,JSP程序能够提供更快的交互速度,其安全性和跨平台性也很优秀。
㈤ 如何使用备份与恢复升级到SQL Server 2014 SP1
1、执行完整备份和事务日志备份
使用SQL Server Management Studio(SSMS)连接到SQL Server 2008实例,将用户数据库进行完整备份和事务日志备份。
2、移动数据库文件
成功备份后,手动将完整备份和事务日志备份文件复制到SQL Server2014 SP1实例。
3、在SQL Server2014实例还原数据库
使用SSMS,连接到SQL Server 2014 SP1实例,恢复数据库到SQL Server 2014 SP1实例。首先,使用NORECOVERY语句来恢复完整备份;然后,使用RECOVERY语句来恢复事务日志备份文件。
4、转移用户登录
转移或创建登录到新的SQL Server2014 SP1实例,连接最终用户。验证是否可以登录访问数据库,这样,一旦数据库上线,所有用户都可以成功连接到数据库。
5、更改数据库兼容级别
1)、用户数据库已经成功升级到SQL Server 2014 SP1实例,兼容级别需要更改为120。
2)、数据库升级后,执行DBCC UPDATEUSAGE命令。如果页面和行数存在不正确的地方,该命令将在目录视图下报告并进行更正。
3)、接下来,执行DBCC CHECKDB命令,验证用户数据库的逻辑和物理完整性。
6、重建所有索引
一旦数据库升级成功,在数据库之前上线,重建所有索引。
7、更新应用程序配置文件
更新所有应用程序配置文件,以反映新的SQL Server名称。
8、执行端到端的测试
在将此环境部署到应用程序的用户之前,进行端到端的测试。
㈥ 如何解决应用限制不生效
有时当我们设置应用限制之后,会发现好多软件都不生效,该怎办?下面是我整理的一些关于如何解决应用限制不生效的相关资料,供你参考。
应用限制不生效的解决方法如下:
问题一、设置应用限制后,限制QQ不生效,怎么办?
答:请检查以下几点:
[1] 确认被限制的电脑的IP地址在受控地址组中。
[2] 确认应用限制功能总开关启用。
[3] 确认按照应用限制设置流程操作,即用户组、限制列表等设置均正确。
[5] 检查是否设置QQ黑白名单,确认设置条目与需求不冲突。
[4] 如果设置正确,但依旧不生效,确认应用限制的策略库是否为最新,如果不是,请升级策略库。
[5] 仍然无法限制,请致电400-8863-400寻求技术支持。
问题二、限制迅雷下载不生效,怎么办?
答: 迅雷的主要下载方式为P2P下载,但作为一个下载工具,如果我们在指定下载内容处直接选择“使用迅雷下载”,那么此类下载方式的行为有别于P2P下载。路由器的应用限制主要限制迅雷P2P下载的应用,对单链接下载不进行限制。如果是P2P下载,但是不生效,请按照以下方式排查:
[1] 确认被限制的电脑的IP地址在受控地址组中。
[2] 确认应用限制功能总开关启用。
[3] 确认按照应用限制设置流程操作,即用户组、限制列表等设置均正确。
[4] 如果设置正确,但依旧不生效,确认应用限制的策略库是否为最新,如果不是,请升级策略库。
[5] 仍然无法限制,请致电400-8863-400寻求技术支持。
问题三、为什么使用一段时间后,应用限制不生效了?
答:请按照以下方法排查:
[1] 请检查受控电脑的IP地址是否变化,确定IP地址是否在受控组。
[2] 应用程序的版本的更新可能引发通讯特征的变化,路由器的限制数据库可能无法识别更新后的特征,从而导致限制失效,这种情况是无法避免的。访问我司官方网站 服务支持 >> 下载中心,输入产品型号进行搜索,下载最新日期的应用数据库文件。
在路由器的管理界面,点击 行为管控 >> 策略库升级,升级最新版本的数据库,再次验证该应用是否可以限制。

㈦ 数据库发展呈现三个主要特征
数据库发展呈现三个主要特征
数据库(Databases,简称DB)是指长期保存在计算机的存储设备上、并按照某种模型组织起来的、可以被各种用户或应用共享的数据的集合。数据库管理系统(Database Management Systems,简称DBMS)是指提供各种数据管理服务的计算机软件系统,这种服务包括数据对象定义、数据存储与备份、数据访问与更新、数据统计与分析、数据安全保护、数据库运行管理以及数据库建立和维护等。
由于企业信息化的目的就是要以现代信息技术为手段,对伴随着企业生产和经营过程而产生的数据进行收集、加工、管理和利用,以改善企业生产经营的整体效率,增强企业的竞争力。所以,数据库是企业信息化不可缺少的工具,是绝大部分企业信息系统的核心。
纵观数据库发展,三大数据库巨头公司纷纷推出其最新产品,数据库市场竞争日益加剧。从最新的IDC报告显示,在关系数据库管理系统(RDBMS)软件市场上,Oracle继续领先对手IBM和微软,但是微软在2006年取得了更快的销售增长率……
根据对数据库发展的技术趋势不难看出,整个数据库发展呈现出了三个主要特征:
(1)、支持XML数据格式
IBM公司在它新推出的DB2 9版本中,直接把对XML的支持作为其新产品的最大卖点,号称是业内第一个同时支持关系型数据和XML数据的混合数据库,无需重新定义XML数据的格式,或将其置于数据库大型对象的前提下,IBM DB2 9允许用户无缝管理普通关系数据和纯XML数据。
对于传统关系型数据与层次型数据的混合应用已经成为了新一代数据库产品所不可或缺的特点。除了IBM,Oracle和微软也同时宣传了它们的产品也可以实现高性能XML存储与查询,使现有应用更好的与XML共存。
(2)、商业智能成重点
为应对日益加剧的商业竞争,企业不断增加内部IT及信息系统,使企业的商业数据成几何数量级不断递增,如何能够从这些海量数据中获取更多的信息,以便分析决策将数据转化为商业价值,就成为目前数据库厂商关注的焦点。各数据库厂商在新推出的产品中,纷纷表示自己的产品在商业智能方面有很大提高。如:微软最新版SQL Server 2005就集成了完整的商业智能套件,包括数据仓库、数据分析、ETL工具、报表及数据挖掘等,并有针对性的做了一些优化。如何更好的支持商业智能将是未来数据库产品发展的主要趋势之一。
(3)、SOA架构支持
SOA已经成为目前IT业内的一个大的发展趋势,最初IBM和BEA是该理念的主要推动者,后来有越来越多的企业加入,开始宣称支持SOA,其中包括Oracle,而微软开始并不是非常赞同SOA的,但是,随着时间的发展,目前国内主流的数据库厂商都开始宣称他们的产品是完全支持SOA架构的,包括微软的SQL Server 2005,从微软态度的转变可以看出,未来IT业的发展与融合,SOA正在成长为一个主流的趋势。
数据库管理系统已经成为软件产业的重要组成部分,是信息化过程中最重要的技术基础之一。我国要振兴软件产业,就必须发展自己的数据库软件产业。这已经获得了广泛的共识,目前要解决的关键问题是如何能够“做得出、用得上、卖得掉”。我们认为,数据库软件的发展将仍然是关系系统内核基础上进行扩展的技术路线。