提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2020-03-24 15:47:43.023|阅读 281 次
概述:在本文中,我们将使用JobEmpl招聘服务数据库来演示如何使用T-SQL在主从关系上创建数据库复制。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
dbForge SQL Complete是一款用于Microsoft SQL Server Management Studio和Microsoft Visual Studio的功能强大的插件。SQL代码格式化程序(免费版和高级付费版)能够提供可以取代原生的Microsoft T-SQL Intellisense特性的T-SQL代码自动实现和格式化功能。
通常,需要创建SQL Server数据库的只读副本。例如,出于分离分析任务和操作任务的目的,可能需要这样做。第一个导致数据库上的高负载,为了减少负载,创建了主数据库的副本以执行分析性只读查询。
通常,可以使用内置DBMS工具创建以下只读副本:
但是,如果您不需要整个数据库,而只需要其中的几个表怎么办?在这种情况下,您可以自己创建复制。只要数据采样是主要目标,那么一个方向(主从)的数据库复制就足够了。可以使用包括SSIS和.NET在内的几种方法来执行这种复制。
在本文中,我们将使用JobEmpl招聘服务数据库来演示如何使用T-SQL在主从关系上创建数据库复制。
SQL Complete是帮助我构建这些脚本的主要工具。该工具还允许代码格式化以及重命名对象及其所有引用。
使用T-SQL在一个方向上创建SQL Server复制
首先,让我们描述此复制的主要原理和算法。在每次迭代期间,我们需要比较Source数据库和Target数据库之间所选表中的数据。这意味着我们需要输入唯一的代理键来比较表。为了加快比较过程,我们还需要在该键上创建一个索引。并且还需要为每个复制表添加一个计算字段,以便为每一行计算CHECKSUM。
同样重要的是,选择数据的固定部分,例如一次(每次迭代)一次特定数量的行。
因此,我们需要执行以下步骤:
现在,让我们使用为雇用员工而创建的JobEmpl数据库详细查看每个步骤。
我们只需要复制Employee和JobHistory表。
从脚本中,您可以看到它必须在源JobEmpl数据库上运行,并且应该在@src和@sch变量中相应地指定源数据库和架构。@sql变量对于构建动态SQL是必需的,同时,@ name对于保存复制表的名称也是必需的。
首先,我们将复制的表名称收集到临时#tbl表中。接下来,我们使用光标遍历每个表名,并将表名提取到@name变量中。之后,对于每个表,将形成非IDENTITY类型的列列表,并将结果插入带有“ +”号的@listcols变量中。
值得一提的是,首先,首先使用CAST函数将每个表名转换为NVACHAR(MAX)类型,然后使用COALESCE函数([<ColumnName>],N'')。从每一行的所有列值中形成一个字符串。
接下来,将创建计算出的CheckSumVal字段,REPL_GUID字段及其唯一的indREPL_GUID索引。
复制的表也位于此处,对于每个表,都将删除indREPL_GUID索引以及REPL_GUID和CheckSumVal列。
在我们的例子中,创建了以下T-SQL代码。
DROP INDEX [indREPL_GUID] ON [dbo].[Employee]; ALTER TABLE [dbo].[Employee] DROP CONSTRAINT [Employee_DEF_REPL_GUID], COLUMN [CheckSumVal], COLUMN [REPL_GUID]; DROP INDEX [indREPL_GUID] ON [dbo].[JobHistory]; ALTER TABLE [dbo].[JobHistory] DROP CONSTRAINT [JobHistory_DEF_REPL_GUID], COLUMN [CheckSumVal], COLUMN [REPL_GUID];现在,根据上述算法的第二步,创建一个新的JobEmplRead数据库来接收数据。然后,我们同步复制表的架构。要执行同步,请使用DbForge架构比较工具:选择JobEmpl作为数据源,选择jobEmplRead作为数据目标。
图-选择数据库进行模式同步
然后按“ 比较”按钮。完成用于比较的元数据创建过程后,选择所需的表并开始配置数据库同步过程。
图-选择用于模式同步的表
接下来,我们选择默认值–脚本生成。
现在让我们清除备份创建选项。
接下来,取消选中所有依赖项,因为我们不需要创建其他对象。并且我们稍后将在生成的模式同步脚本中手动删除外键。
现在按“ 同步”按钮,并忽略“ 摘要”选项卡上的警告。
在生成的脚本中删除以下外键:更多内容欢迎持续关注我们后续的教程
想了解更多产品信息或想要购买产品正版授权请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢