以前曾经写了一篇《How to remove replication in Sytelinehttp://www.cnblogs.com/insus/archive/2011/12/20/2294831.html  过于简单。 由于SyteLine采用共享License的授技术,如果你从一个正式的数据库复制一个备份,恢复至另外一个站点上,这样它们会有很多数据共享。为了杜绝数据混淆,我需要做的是移除Replication功能。

说简单一些吧,如果你在正式版的SyteLine数据有些问题,或是你想测试一些功能,但你又不想在正式版来操作。这样你会想到创建一个测试的系统如Pilot。正常的情况之下,备份与恢复即可,但是SyteLine ERP是采用Intranet License的。也就是说恢复之后,Pilot的数据与正式版的数据库还是有关联的。在Pilot做测试或是更新,它会更新至正式版的数据库去。因此我们需要移除复制(Replication)。

一,分别备份Live数据库,包括App,Forms,Objects三个数据库。

二,进入UT服务器,打开Services.msc,停止SyteLine服务(IDO service)。

四,恢复数据库。分别使用备份的bak文件来恢复Pilot site的App, Forms & Objects)数据库。

以下步骤是在恢复数据库进行或是相关,与原ERP和原数据库无关!!!

五,登录Pilot数据库,查询[intranet]表,然后更新[MasterSite]为NULL。

SELECT * FROM [intranet]
UPDATE [intranet] SET [MasterSite] = NULL WHERE [intranet_name] = '???' 

六,查询[rep_rule]表

SELECT * FROM [rep_rule]

并删除所有此表[rep_rule]记录:

DELETE FROM [rep_rule]  

七,查询表[site]

SELECT * FROM [site]

删除[site]记录,仅留:

DELETE FROM [site] WHERE [site] <> '???' 

更新[IntranetLicensing]为0。

UPDATE [site] SET [IntranetLicensing] = 0 WHERE [site]= '???'

八,查询[site_group]表:

SELECT * FROM [site_group]

删除所有此表[site_group]记录,仅保留当前site的site_group数据:

DELETE FROM [site_group] WHERE [site_group] <> '???' 

九,查询表[IntranetSharedTable]:

SELECT * FROM [dbo].[IntranetSharedTable]

删除所有此表[IntranetSharedTable]记录:

DELETE FROM [dbo].[IntranetSharedTable]

十,在SQL的查询分析器中,执行下面configuration,把TRUSTWORTHY值改为sa,

USE <Restored Database Name>
ALTER DATABASE <Restored Database Name>
SET TRUSTWORTHY ON
EXEC sp_changedbowner 'sa'

然后更新sa的SyteLine的密码,由于密码是加密的,你需要使用加密后的字符串,先来查询一下[UserNames]

SELECT *  FROM [UserNames]

下面Insus.NET把sa的密码设为空,由于SL_Internal的密码就是空的,因此我们就用它的加密后的字符串:

UPDATE [UserNames] SET [UserPassword]='287C0C4DB105827AC41D11555D199265966ECF1FC527B37B6740FF6491427E54EA80' WHERE [UserId] = 2 

十一,登录UT服务器,Restart SyteLine IDO service。

十二,setup object Metadata。

十三,Discard IDO Cache in configuration manager:
根据IDO Runtime on local machine 选项 ,选与不选各执行一次。

十四,Restart SyteLine IDO service。

十五,在UT服务器,运行与登录SyteLine:
打开intranets form,检查master site 字段是否为空。为空说明正确。

十六,打开sites/Entities form, 填写正确的DataBase Name和Forms DataBase Name,并保存。

十七,打开site groups form 是存有记录,记录是否正确。

十八,打开Replication Management from检查 Intranet Shared Tables,点击时,它会出现警示,点OK确认, 然后按F4检查记录是否全为空。为空正确。

十九,在相同的Replication Management from中, 检查 replication Rules 是否存在记录,点击时,它会出现警示,点OK确认, 然后按F4检查记录是否全为空,如果是空记录那就对了。

二十,在相同的Replication Management from中, 点击 "Reqenerate Replication Triggers" 铵钮,确认"Replication Triggers Regenerated Successfully"信息。

二十一,打开Update_All Tables form,按F4 过滤所有记录,点击"Select All" 按钮,把 "Disable Replication" 选项选中,最后点击“Repopulate Tables” 铵钮。此步有可能花费相当长时间,视你的数据多少来决定。

二十二,打印报表,看看是否正常打印。

二十三,完成。

How to remove replication in SyteLine V2的更多相关文章

  1. Error Fix – Replication subscriber does not exist on the server anymore(删除Replication时报错的解决办法)

    Recently one of my client has faced weird situation related to SQL Server Replication. Their main da ...

  2. [原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接

    近年来,由于开源项目.社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发.敏捷开发.迭代开发.持续集成和单元测试这些拉风的术语.然而,大都是仅仅听到在说而已,国内 ...

  3. puppeteer(五)chrome启动参数列表API

    List of Chromium Command Line Switches https://peter.sh/experiments/chromium-command-line-switches/ ...

  4. CEF 支持的命令行参数

    参考:https://peter.sh/experiments/chromium-command-line-switches/ List of Chromium Command Line Switch ...

  5. CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接

    原文地址https://www.cnblogs.com/kevingrace/p/5651447.html 近年来,由于开源项目.社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更 ...

  6. Spark:求出分组内的TopN

    制作测试数据源: c1 85 c2 77 c3 88 c1 22 c1 66 c3 95 c3 54 c2 91 c2 66 c1 54 c1 65 c2 41 c4 65 spark scala实现 ...

  7. [py]一些搜集到的问题

    过滤爬虫爬取下来的关键字 v1,来不及了,先上车 content = ['哈士奇', '二哈', '哈士奇图片','哈士奇图片', '哈士奇美丽价格', '哈士奇是个大傻逼', '猫咪图片', '猫咪 ...

  8. docker image rm ubuntu 失败

    [root@hadoop14 ~]# docker image rm ubuntu Failed to remove image (ubuntu:v2): Error response from da ...

  9. <Docker学习>3. docker镜像命令使用

    镜像提供容器运行时所需要的程序,资源.配置文件等,是一个特殊的文件系统.是容器运行的基础.镜像是多层文件系统组成的,是一个分层存储的架构,在镜像的构建中,会一层层的构建,每一层构建完成就不会发生改变, ...

随机推荐

  1. System.Diagnostics.Debug和System.Diagnostics.Trace 【转】

    在 .net 类库中有一个 system.diagnostics 命名空间,该命名空间提供了一些与系统进程.事件日志.和性能计数器进行交互的类库.当中包括了两个对开发人员而言十分有用的类——debug ...

  2. leveldb - sstable格式

    整体上,sstable文件分为数据区与索引区,尾部的footer指出了meta index block与data index block的偏移与大小,data index block指出了各data ...

  3. [原创]android自定义动画的一点感悟

    android提供了一系列的动画处理api,包括animator以及animation等.由于动画效果是根据人眼视觉残留原理形成的,因此动画过程中android需要不断频繁的更新view的相关属性,由 ...

  4. 申请Payoneer美国万事达信用卡,可获得一个美国虚拟银行账户,立即注册可得25美元

    申请Payoneer美国万事达信用卡,可获得一个美国虚拟银行账户,可以在国内任意一个支持万事达的ATM.POS机上取现和刷卡消费.Payoneer可以网上购物,购买国外的产品,对我们有一个好处就是利用 ...

  5. checkbox与说明文字无法对齐的问题

    解决方法: vertical-align:middle; 例:<input type=checkbox id="theId" name=checkbox style=&quo ...

  6. 学习之路三十九:新手学习 - Windows API

    来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...

  7. 一次流量稍高导致web项目慢的问题&解决

    项目上线后,用户越来越多,有一天出现一个issue:用户访问特别慢. 首先介绍下架构: haproxy/Nginx / \ node1 node2 | | redis redis(slave) | | ...

  8. 标准 DateTime 格式字符串

    标准 DateTime 格式字符串 MSDN 标准 DateTime 格式字符串包含一个标准 DateTime 格式说明符字符,该字符表示自定义 DateTime 格式字符串.格式字符串最终定义由格式 ...

  9. tensorflow 运行成功!

    折腾了一天安装tensorflow环境,终于可以运行,也记录一下安装中容易犯的错误总结(写给python小白们) 一.win7 双系统 安装ubuntu 16.04 ,参考 http://jingya ...

  10. 全渠道后端 : RFID在仓储物流中的运用

    核心提示 沃尔玛的业务之所以能够迅速增长,并且成为现在非常著名的公司之一,是因为沃尔玛在节省成本以及在物流配送系统与供应链管理方面取得了巨大的成就. 最后为一个业务展望,从B端工厂提货 到C端交付的系 ...