CN107103041A - 一种sql server数据库更新的存储方法和存储*** - Google Patents
一种sql server数据库更新的存储方法和存储*** Download PDFInfo
- Publication number
- CN107103041A CN107103041A CN201710194224.4A CN201710194224A CN107103041A CN 107103041 A CN107103041 A CN 107103041A CN 201710194224 A CN201710194224 A CN 201710194224A CN 107103041 A CN107103041 A CN 107103041A
- Authority
- CN
- China
- Prior art keywords
- renewal
- database
- new
- updated
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种SQL SERVER数据库的更新方法和更新***,所述更新方法包括:创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联;接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间;根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。实施本发明实施例,不仅可以从DDL触发器获取每次更新的更新人员和更新时间,而且可以根据更新时间生成增量更新脚本。
Description
技术领域
本发明涉及电数据处理领域,尤其涉及一种SQL SERVER数据库更新的存储方法和存储***。
背景技术
在项目开发中,开发项目由项目组的成员共同完成。在开发过程中,每个成员都会存在对数据库架构的变更,变更记录难以维护和追溯,在最后版本更新的时候一般通过手动方式或者第三方工具比对源数据库和目标数据库架构生产脚本。手动整合更新脚本低效并且容易出错;比对工具同样存在2个问题:1、无法追溯和审查哪些变更由谁在什么时候操作。2、只能基于当前源数据库和目标数据的所有架构比较差异生产更新脚本,不能根据具体时间点生成增量更新脚本。
发明内容
有鉴于此,本发明提供一种SQL SERVER数据库的更新方法和更新***,以解决现有技术无法查询更新人员,且不能生成增量更新脚本的问题。
具体地,本发明是通过如下技术方案实现的:
本发明提供一种SQL SERVER数据库的更新方法,所述更新方法包括:
创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联;
接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间;
根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。
本发明还提供了一种SQL SERVER数据库的更新***,所述更新***包括:
关联单元,用于创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联;
更新记录单元,用于接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间;
更新脚本发布单元,用于根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。
本发明实施例,创建数据库架构变更DDL触发器,并将待更新数据库与DDL触发器进行关联,接收对待更新数据库的架构的更新,根据更新启动DDL触发器并记录更新内容和更新时间,根据更新时间和更新内容生成更新脚本,并发布更新脚本,使得对数据库的更新全部由DDL触发器进行记录,便于从DDL触发器中查询更新内容和更新时间,不仅可以从DDL触发器获取每次更新的更新人员和更新时间,而且可以根据更新时间生成增量更新脚本。
附图说明
图1是本发明一示例性实施例示出的一种SQL SERVER数据库的更新方法的流程图;
图2是本发明一示例性实施例示出的一种SQL SERVER数据库的更新***的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示为本发明一示例性实施例示出的一种SQL SERVER数据库的更新方法的流程图,所述更新方法包括:
步骤S101,创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联。
在本发明实施例中,数据库架构变更DDL触发器可记录的更新对象包括:数据表、视图、存储过程、函数、索引、方法、约束等,只要进行了上述的变更,即可触发数据库架构变更DDL触发器,因此本发明首先创建一数据库架构变更DDL触发器,并将该DDL触发器与待更新数据库进行关联。
步骤S102,接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间。
在本发明实施例中,由于将DDL触发器与待更新数据库进行了关联,因此当存储***接收到任何对待更新数据库的架构的更新时,存储***根据该更新启动DDL触发器,并通过该DDL触发器记录更新内容以及更新时间。其中,更新内容包括但不限于:更新对象、更新操作信息。记录的信息包括:变更操作原始XML信息以及更新后对象的元数据信息。
所述接收对所述待更新数据库的架构的更新,包括:
接收通过脚本对所述待更新数据库的架构的更新;和/或,
接收通过SSMS对所述待更新数据库的架构的更新。
在本发明实施例中,对SQL SERVER数据库的更新通常由操作人员通过脚本或SSMS(SQL SERVER Management Studio)实现,因此存储***可接收通过脚本或通过SSMS对待更新数据库的架构的更新。
步骤S103,根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。
在本发明实施例中,根据指定的开始时间和结束时间(均记录在DDL触发器中),提取开始时间到结束时间范围内的所有变更对象的元数据最新版本和基准版本对应对象元数据比对,自动生成更新脚本,并且发布该更新脚本,保存所有基准数据库版本未变更对象的元数据和已变更对象的元数据最新版本快照,作为新的数据库版本,标记数据库版本号以及更新操作当前时间。
本发明实施例,创建数据库架构变更DDL触发器,并将待更新数据库与DDL触发器进行关联,接收对待更新数据库的架构的更新,根据更新启动DDL触发器并记录更新内容和更新时间,根据更新时间和更新内容生成更新脚本,并发布更新脚本,使得对数据库的更新全部由DDL触发器进行记录,便于从DDL触发器中查询更新内容和更新时间,不仅可以从DDL触发器获取每次更新的更新人员和更新时间,而且可以根据更新时间生成增量更新脚本。
如图2所示为本发明一示例性实施例示出的一种SQL SERVER数据库的更新***的结构图,所述结构图包括:
关联单元201,用于创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联。
在本发明实施例中,数据库架构变更DDL触发器可记录的更新对象包括:数据表、视图、存储过程、函数、索引、方法、约束等,只要进行了上述的变更,即可触发数据库架构变更DDL触发器,因此本发明首先创建一数据库架构变更DDL触发器,并将该DDL触发器与待更新数据库进行关联。
更新记录单元202,用于接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间。
在本发明实施例中,由于将DDL触发器与待更新数据库进行了关联,因此当存储***接收到任何对待更新数据库的架构的更新时,存储***根据该更新启动DDL触发器,并通过该DDL触发器记录更新内容以及更新时间。其中,更新内容包括但不限于:更新对象、更新操作信息。记录的信息包括:变更操作原始XML信息以及更新后对象的元数据信息。
所述接收对所述待更新数据库的架构的更新,包括:
接收通过脚本对所述待更新数据库的架构的更新;和/或,
接收通过SSMS对所述待更新数据库的架构的更新。
在本发明实施例中,对SQL SERVER数据库的更新通常由操作人员通过脚本或SSMS(SQL SERVER Management Studio)实现,因此存储***可接收通过脚本或通过SSMS对待更新数据库的架构的更新。
更新脚本发布单元203,用于根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。
在本发明实施例中,根据指定的开始时间和结束时间(均记录在DDL触发器中),提取开始时间到结束时间范围内的所有变更对象的元数据最新版本和基准版本对应对象元数据比对,自动生成更新脚本,并且发布该更新脚本,保存所有基准数据库版本未变更对象的元数据和已变更对象的元数据最新版本快照,作为新的数据库版本,标记数据库版本号以及更新操作当前时间。
本发明实施例,创建数据库架构变更DDL触发器,并将待更新数据库与DDL触发器进行关联,接收对待更新数据库的架构的更新,根据更新启动DDL触发器并记录更新内容和更新时间,根据更新时间和更新内容生成更新脚本,并发布更新脚本,使得对数据库的更新全部由DDL触发器进行记录,便于从DDL触发器中查询更新内容和更新时间,不仅可以从DDL触发器获取每次更新的更新人员和更新时间,而且可以根据更新时间生成增量更新脚本。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种SQL SERVER数据库的更新方法,其特征在于,所述更新方法包括:
创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联;
接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间;
根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。
2.如权利要求1所述的更新方法,其特征在于,所述接收对所述待更新数据库的架构的更新,包括:
接收通过脚本对所述待更新数据库的架构的更新;和/或,
接收通过SSMS对所述待更新数据库的架构的更新。
3.如权利要求1~2任一项所述的更新方法,其特征在于,更新内容包括:更新对象、更新操作信息。
4.一种SQL SERVER数据库的更新***,其特征在于,所述更新***包括:
关联单元,用于创建数据库架构变更DDL触发器,并将待更新数据库与所述DDL触发器进行关联;
更新记录单元,用于接收对所述待更新数据库的架构的更新,根据所述更新启动所述DDL触发器并记录更新内容和更新时间;
更新脚本发布单元,用于根据所述更新时间和更新内容生成更新脚本,并发布所述更新脚本。
5.如权利要求4所述的更新***,其特征在于,所述接收对所述待更新数据库的架构的更新,包括:
接收通过脚本对所述待更新数据库的架构的更新;和/或,
接收通过SSMS对所述待更新数据库的架构的更新。
6.如权利要求4所述的更新***,其特征在于,更新内容包括:更新对象、更新操作信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710194224.4A CN107103041A (zh) | 2017-03-28 | 2017-03-28 | 一种sql server数据库更新的存储方法和存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710194224.4A CN107103041A (zh) | 2017-03-28 | 2017-03-28 | 一种sql server数据库更新的存储方法和存储*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107103041A true CN107103041A (zh) | 2017-08-29 |
Family
ID=59674852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710194224.4A Pending CN107103041A (zh) | 2017-03-28 | 2017-03-28 | 一种sql server数据库更新的存储方法和存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107103041A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733743A (zh) * | 2018-03-23 | 2018-11-02 | 山东昭元信息科技有限公司 | 一种基于时间轴的时序数据库版本管理实现方法 |
CN111741038A (zh) * | 2019-03-25 | 2020-10-02 | 华为技术有限公司 | 数据传输方法和数据传输装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662946A (zh) * | 2012-02-20 | 2012-09-12 | 北京地拓科技发展有限公司 | 一种自动监测数据库中记录变化的方法和*** |
CN105447014A (zh) * | 2014-08-15 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 基于binlog的元数据管理方法和用于提供元数据的方法及装置 |
CN105955746A (zh) * | 2016-05-06 | 2016-09-21 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
-
2017
- 2017-03-28 CN CN201710194224.4A patent/CN107103041A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662946A (zh) * | 2012-02-20 | 2012-09-12 | 北京地拓科技发展有限公司 | 一种自动监测数据库中记录变化的方法和*** |
CN105447014A (zh) * | 2014-08-15 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 基于binlog的元数据管理方法和用于提供元数据的方法及装置 |
CN105955746A (zh) * | 2016-05-06 | 2016-09-21 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733743A (zh) * | 2018-03-23 | 2018-11-02 | 山东昭元信息科技有限公司 | 一种基于时间轴的时序数据库版本管理实现方法 |
CN108733743B (zh) * | 2018-03-23 | 2021-04-23 | 山东昭元信息科技有限公司 | 一种基于时间轴的时序数据库版本管理实现方法 |
CN111741038A (zh) * | 2019-03-25 | 2020-10-02 | 华为技术有限公司 | 数据传输方法和数据传输装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8683430B2 (en) | Synchronizing development code and deployed executable versioning within distributed systems | |
US9720994B2 (en) | Replicated database structural change management | |
US20200050588A1 (en) | Automatic file version verification within electronic mail | |
US8918447B2 (en) | Methods, apparatus, systems and computer readable mediums for use in sharing information between entities | |
US8392573B2 (en) | Transport of customer flexibility changes in a multi-tenant environment | |
US8561023B2 (en) | Software change management extension for uniformly handling artifacts with relaxed contraints | |
US9116899B2 (en) | Managing changes to one or more files via linked mapping records | |
US10740298B2 (en) | File synchronization with reduced conflicts in computing systems | |
US20150199188A1 (en) | Seal-based regulation for software deployment management | |
US8306946B2 (en) | Deployment manager for master data management | |
US20120290544A1 (en) | Data compliance management | |
US8805777B2 (en) | Data record collapse and split functionality | |
US20110161931A1 (en) | Automated stream-based change flows within a software configuration management system | |
US20180260215A1 (en) | Parallel development of a software system | |
US8412681B2 (en) | Content archival and retrieval | |
CN107103041A (zh) | 一种sql server数据库更新的存储方法和存储*** | |
US8266589B2 (en) | Optimizing the handling of source code requests between a software configuration management (SCM) system and a software integrated development environment (IDE) using projected ancillary data | |
Ali et al. | Customization of software as a service application: problems and objectives | |
JP6287093B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラム | |
US20240086416A1 (en) | Methods and systems for integrating external systems of records with final report | |
US11971708B2 (en) | Method for providing context based artefact access | |
US20160378793A1 (en) | Database comparison system | |
US20240086979A1 (en) | Systems and methods for generating annual product quality reviews | |
US20150180741A1 (en) | Method and system for tracking chaiin of custody on unstructured data | |
KR101926165B1 (ko) | 웹 기반 hmi 솔루션의 문서 편집 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170829 |
|
RJ01 | Rejection of invention patent application after publication |