移动智能终端应用软件预置和分发管理暂行规定解读附全文

移动智能终端应用软件预置和分发管理暂行规定解读附全文,第1张

移动智能终端应用软件预置和分发管理暂行规定解读(附全文)

最近,工业和信息化部发布了《移动智能终端应用软件预置和分发管理暂行规定》的通知,这是为推动移动互联网健康有序发展,构建安全可信的信息通信网络环境,依法维护用户的知情权和选择权,促进大众创业、万众创新,规范移动互联网市场秩序。以下是该规定的全文及相关解读,欢迎阅览!

相关解读:

一、发布《移动智能终端应用软件预置和分发管理暂行规定》的目的和主要内容是什么

答:移动互联网的迅速发展极大地促进了经济社会的发展和进步,在为人们的生产、生活带来便利的同时,一些损害用户个人信息和财产安全的问题也逐渐暴露。为保护广大用户合法权益,规范移动互联网市场秩序,维护网络安全,促进信息通信行业健康发展,我部依法制定《移动智能终端应用软件预置和分发管理暂行规定》(以下简称《规定》),重点对智能终端生产企业的移动智能终端应用软件(简称APP)预置行为,以及互联网信息服务提供者提供的移动智能终端应用软件分发服务进行规范。

《规定》要求生产企业和互联网信息服务提供者均明示所提供移动智能终端应用软件相关信息,确保除基本功能软件外的移动智能终端应用软件可卸载,明确了从事应用商店等移动应用分发平台服务的互联网信息服务提供者,以及在移动智能终端中预置了移动应用分发平台的生产企业对所提供的应用软件负有的管理责任,还规定了通信主管部门的相应管理职责。

二、《规定》制订的过程是怎样的

答:《规定》起草过程中,我们主要开展了以下工作:

一是组织调研,拟定工作思路。对移动智能终端应用软件预置及分发情况进行调研,拟定了重点针对移动智能终端生产企业和互联网信息服务提供者的应用软件预置和分发行为,加强行业管理、保障消费者合法权益的工作思路。

二是综合各方意见,起草《规定》。我部就《规定》制订问题广泛听取移动智能终端生产企业、互联网企业、基础电信运营商、地方通信管理局等的意见,拟定了《规定》(征求意见稿)。

三是公开征求意见,进一步修改完善。我部于2015年11月通过部门户网站、官方微博将《规定》的征求意见稿向社会公开征求意见,社会各界对《规定》的制定给予了积极评价,也提出了很多建设性意见。我部根据公开征求意见期间收到的反馈意见,对《规定》做了进一步的修改和完善。此外,我部还按照国际惯例,将《规定》向WTO/TBT进行通报。

四是在上述工作基础上,我部按照规定流程正式发布《规定》。

三、用户使用移动智能终端应用软件过程中,经常会遇到提示终端调用联系人、用户位置、建立数据连接等敏感行为,《规定》如何对这些行为进行规范

答:《规定》第五条第(二)款要求生产企业和互联网信息服务提供者所提供移动智能终端应用软件,未经明示且经用户同意,不得实施收集使用用户个人信息等行为。其中的“用户个人信息”包括用户基本资料、身份z明、生理标识、联系人信息、位置信息等。具体可参考通信行业标准YD/T 2407《移动智能终端安全能力技术要求》、YD/T 2781-2014《电信和互联网服务用户个人信息保护定义及分类》、YD/T 2439-2012《移动互联网恶意程序描述格式》。

四、如何界定违法发送商业性电子信息行为

答:《全国人大常委会关于加强网络信息保护的决定》第七条规定,“任何组织和个人未经电子信息接收者同意或者请求,或者电子信息接收者明确表示拒绝的,不得向其固定电话、移动电话或者个人电子邮箱发送商业性电子信息”。

五、监督检查中要求企业配合提供“便捷的获取应用软件的条件”应如何理解

答:便捷的获取应用软件的条件是指企业应配合提供应用的原始安装包、下载链接、应用的相关信息或说明等监督检查所必备的条件,不包括提供源代码等企业内部信息。

六、哪些软件属于基本功能应用软件

答:本《规定》中的基本功能软件是指保障移动智能终端硬件和 *** 作系统正常运行的移动智能终端应用软件,主要包括四类:一是 *** 作系统基本组件:如系统内核应用、虚拟机应用、网络浏览引擎等;二是保证智能终端硬件正常运行的应用:如蓝牙、GPS、指纹传感器应用等;三是基本通信应用:如短信、拨号、联系人等;四是应用软件下载通道:如应用商店等。

七、移动应用软件分发平台应掌握应用软件提供者、运营者、开发者的哪些信息

答:从事应用商店等移动应用分发平台服务的互联网信息服务提供者,以及在移动智能终端中预置了移动应用分发平台的生产企业应登记其平台内的应用软件提供者、运营者、开发者的真实信息,并区分企业开发者与个人开发者。应用软件运营者、开发者如果是境内企业,需记录工商局注册信息,包括营业执照、组织机构代码证、企业登记注册地址、(电话、Email)等;应用软件提供者、运营者、开发者如果是境内自然人,需记录有效证件信息,可包括身份z、护照、居住地地址、(电话、Email)等;境外应用软件提供者、运营者、开发者需提供所对应的真实的银行帐户信息、电子邮件信息等。

八、应用软件电子签名是强制要求吗

答:为引导APP行业健康有序发展,避免APP被恶意篡改,加强对恶意APP的溯源,保障开发者和用户的合法权益,我部鼓励APP使用符合国家《电子签名法》等相关法律的认证机构所颁发的数字证书进行电子签名。

九、用户如何进行申投诉和举报

答:对于当用户发现移动智能终端应用软件违反本《规定》相关要求,可向企业投诉举报,企业应在规定和公开承诺的时限内妥善处理;对处理结果不满的,用户可向电信用户申诉受理机构申诉(电话为:010-12300、省会城市区号-12300)。

用户发现移动终端应用软件含有法律法规规定的禁止性内容或违规发送商业性电子信息的,可向网络不良与垃圾信息举报中心举报(电话为:010-12321、省会城市区号-12321)。

十、此规定发布后有过渡期吗

答:本《规定》正式发布后将有半年的过渡期,从2017年7月1日起正式实施。

工业和信息化部关于印发《移动智能终端应用软件预置和分发管理暂行规定》的通知

工信部信管[2016]407号

各相关单位:

现将《移动智能终端应用软件预置和分发管理暂行规定》印发给你们,请遵照执行。

工业和信息化部

2016年12月16日

移动智能终端应用软件预置和分发管理暂行规定

为推动移动互联网健康有序发展,构建安全可信的信息通信网络环境,依法维护用户的知情权和选择权,促进大众创业、万众创新,规范移动互联网市场秩序,根据《全国人民代表大会常务委员会关于加强网络信息保护的决定》《中华人民共和国网络安全法》《中华人民共和国电信条例》和《互联网信息服务管理办法》等有关规定,制定本规定。

第一条工业和信息化部大力推动移动智能终端应用软件发展,鼓励移动智能终端生产企业、互联网信息服务提供者等相关企业积极开发移动智能终端应用软件产品,丰富信息消费内容,引导企业健全相关管理机制。鼓励有关行业协会等依法制定自律性管理制度,共同规范移动智能终端应用软件的预置和分发行为,维护网络安全,加强用户权益保护。

第二条本规定规范移动智能终端生产企业(以下简称生产企业)的移动智能终端应用软件预置行为,以及互联网信息服务提供者提供的移动智能终端应用软件分发服务。

第三条工业和信息化部依照本规定对全国范围内移动智能终端应用软件预置与分发服务实施监督管理。省、自治区、直辖市通信管理局(以下统称各地通信主管部门)在工业和信息化部领导下,按照本规定对本行政区域内的移动智能终端应用软件预置与分发服务实施监督管理。工业和信息化部和各地通信主管部门应进一步完善移动智能终端应用软件预置与分发服务监管制度,强化事中事后管理。

第四条生产企业和提供移动智能终端应用软件分发服务的互联网信息服务提供者(以下简称互联网信息服务提供者)不得提供或传播含有下列内容的移动智能终端应用软件:

(一)反对宪法所确定的基本原则的`;

(二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;

(三)损害国家荣誉和利益的;

(四)煽动民族仇恨、民族歧视,破坏民族团结的;

(五)破坏国家宗教政策,宣扬邪教和封建迷信的;

(六)散布谣言,扰乱社会秩序,破坏社会稳定的;

(七)散布秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;

(八)侮辱或者诽谤他人,侵害他人合法权益的;

(九)含有法律、行政法规禁止的其他内容的。

第五条生产企业和互联网信息服务提供者应依法依规提供移动智能终端应用软件,采取有效措施,维护网络安全,切实保护用户合法权益。

(一)提供移动智能终端预置软件(以下简称预置软件)的生产企业和互联网信息服务提供者应自觉维护行业公平竞争,依法维护用户的知情权和选择权,不得实施破坏市场竞争秩序、侵犯用户合法权益的行为。

(二)生产企业和互联网信息服务提供者所提供移动智能终端应用软件不得调用与所提供服务无关的终端功能、违法发送商业性电子信息;未经明示且经用户同意,不得实施收集使用用户个人信息、开启应用软件、捆绑推广其他应用软件等侵害用户合法权益或危害网络安全的行为。

(三)为移动智能终端应用软件提供代收费的企业,应当采取必要措施,加强对计费、收费行为的管理,杜绝不明扣费;收费企业应对用户确认信息和计费原始数据至少保存5个月,并为用户查询提供方便。

(四)生产企业应约束销售渠道,未经用户同意不得擅自在移动智能终端中安装应用软件,并提示用户终端在销售渠道等环节被装入应用软件的可能性、风险和应对措施。

第六条生产企业和互联网信息服务提供者均应明示所提供移动智能终端应用软件相关信息。

(一)生产企业和互联网信息服务提供者均应通过用户提示、企业网站等方式明示所提供移动智能终端应用软件的信息,包括名称、功能描述、卸载方法、开发者信息、软件安装及运行所需权限列表等,明确告知用户应用软件收集、使用用户个人信息的内容、目的、方式和范围等。

(二)生产企业应在终端产品说明书中提供预置软件列表信息,并在终端产品说明书或外包装中标示预置软件详细信息的查询方法。生产企业在提交移动智能终端进网申请时,应提供相关产品符合前述要求的声明。

(三)涉及收费的移动智能终端应用软件应严格遵守明码标价等相关规定,明示收费标准、收费方式,明示内容真实准确、醒目规范,经用户确认后方可扣费。

第七条生产企业和互联网信息服务提供者应确保除基本功能软件外的移动智能终端应用软件可卸载。

(一)移动智能终端的基本功能软件是指保障移动智能终端硬件和 *** 作系统正常运行的应用软件,主要包括 *** 作系统基本组件、保证智能终端硬件正常运行的应用、基本通信应用、应用软件下载通道等。终端中预置的实现同一功能的基本功能软件,至多有一个可设置为不可卸载。

(二)生产企业和互联网信息服务提供者应确保所提供的除基本功能软件之外的移动智能终端应用软件可由用户方便卸载,且在不影响移动智能终端安全使用的情况下,附属于该软件的资源文件、配置文件和用户数据文件等也应能够被方便卸载。

(三)生产企业应确保已被卸载的预置软件在移动智能终端 *** 作系统升级时不被强行恢复;应保证移动智能终端获得进网许可证前后预置软件的一致性;移动智能终端新增预置软件或有重大功能变化的,应及时向工业和信息化部报告。

第八条从事应用商店等移动应用分发平台服务的互联网信息服务提供者,以及在移动智能终端中预置了移动应用分发平台的生产企业对所提供的应用软件负有以下管理责任:

(一)应登记应用软件提供者、运营者、开发者的真实身份、等信息。

(二)应建立应用软件管理机制,对应用软件进行审核及安全、服务等相关检测,对审核和检测中发现的恶意应用软件等违法违规软件,不得向用户提供;对所提供应用软件进行跟踪监测,及时处理违法违规软件,建立完善用户举报投诉处置措施等。

(三)应要求应用软件提供者在提交应用软件时声明其获取的用户终端权限及用途,并将上述信息向软件下载用户明示。

(四)应留存所提供应用软件,以及该软件有关版本、上线时间、功能简介、用途、MD5(消息摘要算法5)等校验值、服务器接入等信息以备追溯检测,相关信息的留存时间不短于60日。

(五)对于违反本规定第四条要求的应用软件,以及在通信主管部门监督检查中发现的恶意应用软件,相关企业应予以及时下架。

(六)应加强网络安全防护以及对相关人员的教育培训,保障自身系统安全和用户个人信息安全。

第九条通信主管部门应对生产企业和互联网信息服务提供者落实本规定相关要求情况进行监督检查。

(一)通信主管部门应组织专业检测机构对生产企业预置的和互联网信息服务提供者提供的应用软件开展监督检测和恶意应用软件认定工作,相关企业应给予配合,并提供便捷的获取应用软件的条件。

(二)检测机构应及时将检测和认定报告提交通信主管部门。通信主管部门依据报告,要求并监督相关企业进行整改,通知并监督互联网信息服务提供者下架恶意应用软件。

(三)通信主管部门向社会通报监督检查和检测情况。

(四)对于紧急情况以及互联网信息服务提供者未按要求及时下架违法应用软件的,通信主管部门可依法依规要求有关单位采取处置措施。

第十条相关企业和社会组织应进一步完善服务保障措施,提高用户权益保护水平。

(一)生产企业和互联网信息服务提供者应建立移动智能终端应用软件投诉举报受理制度,为用户提供便捷的投诉举报方式,接受、验证和处理用户投诉举报。如用户发现移动智能终端应用软件违反本规定要求,可向相关企业投诉举报,企业应在规定和公开承诺的时限内妥善处理;对处理结果不满的,用户可向电信用户申诉受理机构申诉。用户发现恶意应用软件,以及含有法律法规规定的禁止性内容或违法发送商业性电子信息的移动终端应用软件,可向网络不良与垃圾信息举报中心举报。

(二)工业和信息化部鼓励移动智能终端应用软件采用依法设立的电子认证服务机构颁发的数字证书进行签名;指导相关企业对已签名的移动智能终端应用软件采用依法设立的电子认证服务机构颁发的数字证书,进行验证并显著标识。

(三)工业和信息化部支持相关社会组织通过行业自律形式,建立恶意应用软件黑名单,实现黑名单信息在相关企业、专业检测机构以及用户之间的共享。

第十一条违反本规定的,通信主管部门依据职权责令改正,依法进行处罚,并将生产企业、互联网信息服务提供者违反本规定受到行政处罚的情况记入信誉档案,向社会公布。对涉嫌违法犯罪的应用软件线索,各单位应及时报告公安机关。

第十二条本规定下列用语的含义是:

移动智能终端是指接入公众移动通信网络、具有 *** 作系统、可由用户自行安装和卸载应用软件的移动通信终端产品。

移动智能终端应用软件(英文简称APP)包括移动智能终端预置应用软件,以及互联网信息服务提供者提供的可以通过网站、应用商店等移动应用分发平台下载、安装、升级的应用软件。

移动应用分发平台是指网站、应用商店等提供移动智能终端应用软件下载、安装、升级的应用软件平台。

移动智能终端预置应用软件是指由生产企业自行或与互联网信息服务提供者合作在移动智能终端出厂前安装的应用软件。

恶意应用软件是指含有信息窃取、恶意扣费、诱骗欺诈、系统破坏等恶意行为及其他危害用户权益和网络安全的应用软件。

商业性电子信息是指利用电信网或互联网,向用户介绍、推销商品、服务或者商业投资机会的电子信息。

第十三条本规定解释权属于工业和信息化部。

第十四条本规定自2017年7月1日起实施。

;

同步两个SQLServer数据库

如何同步两个sqlserver数据库的内容程序代码可以有版本管理cvs进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致各位有什么好的方法吗

一、分发与复制

用强制订阅实现数据库同步 *** 作 大量和批量的数据可以用数据库的同步机制处理:
//
说明:
为方便 *** 作,所有 *** 作均在发布服务器(分发服务器)上 *** 作,并使用推模式
在客户机器使用强制订阅方式。

二、测试通过

1:环境

服务器环境:
机器名称: zehuadb
*** 作系统:windows 2000 server
数据库版本:sql 2000 server 个人版

客户端
机器名称:zlp
*** 作系统:windows 2000 server
数据库版本:sql 2000 server 个人版

2:建用户帐号

在服务器端建立域用户帐号
我的电脑管理->本地用户和组->用户->建立
username:zlp
userpwd:zlp

3:重新启动服务器mssqlserver

我的电脑->控制面版->管理工具->服务->mssqlserver 服务
(更改为:域用户帐号,我们新建的zlp用户 \zlp,密码:zlp)

4:安装分发服务器

a:配置分发服务器
工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置)

b:配置发布服务器
工具->复制->创建和管理发布->选择要发布的数据库(sz)->下一步->快照发布->下一步->选择要发布的内容->下一步->下一步->下一步->完成

c:强制配置订阅服务器(推模式,拉模式与此雷同)
工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->sql server数据库->输入客户端服务器名称(zlp)->使用sql server 身份验证(sa,空密码)->确定->应用->确定

d:初始化订阅
复制监视器->发布服务器(zehuadb)->双击订阅->强制新建->下一步->选择启用的订阅服务器->zlp->下一步->下一步->下一步->下一步->完成

5:测试配置是否成功

复制监视器->发布衿zehuadb)->双击sz:sz->点状态->点立即运行代理程序

查看:
复制监视器->发布服务器(zehuadb)->sz:sz->选择zlp:sz(类型强制)->鼠标右键->启动同步处理

如果没有错误标志(红色叉),恭喜您配置成功

6:测试数据

在服务器执行:

选择一个表,执行如下sql: insert into wq_newsgroup_s select '测试成功',5

复制监视器->发布服务器(zehuadb)->sz:sz->快照->启动代理程序 ->zlp:sz(强制)->启动同步处理

去查看同步的 wq_newsgroup_s 是否插入了一条新的记录

测试完毕,通过。
7:修改数据库的同步时间,一般选择夜晚执行数据库同步处理
(具体 *** 作略) :d

/
注意说明:
服务器一端不能以(local)进行数据的发布与分发,需要先删除注册,然后新建注册本地计算机名称

卸载方式:工具->复制->禁止发布->是在"zehuadb"上静止发布,卸载所有的数据库同步配置服务器

注意:发布服务器、分发服务器中的sqlserveragent服务必须启动
采用推模式: "d:\microsoft sql server\mssql\repldata\unc" 目录文件可以不设置共享
拉模式:则需要共享~!
/
少量数据库同步可以采用触发器实现,同步单表即可。

三、配置过程中可能出现的问题

在sql server 2000里设置和使用数据库复制之前,应先检查相关的几台sql server服务器下面几点是否满足:

1、mssqlserver和sqlserveragent服务是否是以域用户身份启动并运行的(\administrator用户也是可以的)

如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:

进程未能连接到distributor '@server name'

(如果您的服务器已经用了sql server全文检索服务, 请不要修改mssqlserver和sqlserveragent服务的local启动。
会照成全文检索服务不能用。请换另外一台机器来做sql server 2000里复制中的分发服务器。)

修改服务启动的登录用户,需要重新启动mssqlserver和sqlserveragent服务才能生效。

2、检查相关的几台sql server服务器是否改过名称(需要srvid=0的本地机器上srvname和datasource一样)

在查询分析器里执行:
use master
select srvid,srvname,datasource from sysservers

如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方法修改:

use master
go
-- 设置两个变量
declare @serverproperty_servername varchar(100),
@servername varchar(100)
-- 取得windows nt 服务器和与指定的 sql server 实例关联的实例信息
select @serverproperty_servername = convert(varchar(100), serverproperty('servername'))
-- 返回运行 microsoft sql server 的本地服务器名称
select @servername = convert(varchar(100), @@servername)
-- 显示获取的这两个参数
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的
--删除错误的服务器名
exec sp_dropserver @server=@servername
--添加正确的服务器名
exec sp_addserver @server=@serverproperty_servername, @local='local'

修改这项参数,需要重新启动mssqlserver和sqlserveragent服务才能生效。

这样一来就不会在创建复制的过程中出现18482、18483错误了。

3、检查sql server企业管理器里面相关的几台sql server注册名是否和上面第二点里介绍的srvname一样

不能用ip地址的注册名。

(我们可以删掉ip地址的注册,新建以sql server管理员级别的用户注册的服务器名)

这样一来就不会在创建复制的过程中出现14010、20084、18456、18482、18483错误了。

4、检查相关的几台sql server服务器网络是否能够正常访问

如果ping主机ip地址可以,但ping主机名不通的时候,需要在

winnt\system32\drivers\etc\hosts (win2000)
windows\system32\drivers\etc\hosts (win2003)

文件里写入数据库服务器ip地址和主机名的对应关系。

例如:

127001 localhost
192168035 oracledb oracledb
192168065 fengyu02 fengyu02
2028410193 bj_db bj_db
或者在sql server客户端网络实用工具里建立别名,例如:
5、系统需要的扩展存储过程是否存在(如果不存在,需要恢复):

sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstardll'
go
sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstardll'
go
sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstardll'
go
sp_addextendedproc xp_cmdshell ,@dllname ='xplog70dll'
接下来就可以用sql server企业管理器里[复制]-> 右键选择 ->[配置发布、订阅服务器和分发]的图形界面来配置数据库复制了。

下面是按顺序列出配置复制的步骤:

1、建立发布和分发服务器

[欢迎使用配置发布和分发向导]->[选择分发服务器]->[使"@servername"成为它自己的分发服务器,sql server将创建分发数据库和日志]
->[制定快照文件夹]-> [自定义配置] -> [否,使用下列的默认配置] -> [完成]

上述步骤完成后, 会在当前"@servername" sql server数据库里建立了一个distribion库和 一个distributor_admin管理员级别的用户(我们可以任意修改密码)。

服务器上新增加了四个作业:

[ 代理程序历史记录清除: distribution ]
[ 分发清除: distribution ]
[ 复制代理程序检查 ]
[ 重新初始化存在数据验证失败的订阅 ]

sql server企业管理器里多了一个复制监视器, 当前的这台机器就可以发布、分发、订阅了。

我们再次在sql server企业管理器里[复制]-> 右键选择 ->[配置发布、订阅服务器和分发]

我们可以在 [发布服务器和分发服务器的属性] 窗口-> [发布服务器] -> [新增] -> [确定] -> [发布数据库] -> [事务]/[合并] -> [确定] -> [订阅服务器] -> [新增] -> [确定]

把网络上的其它sql server服务器添加成为发布或者订阅服务器

新增一台发布服务器的选项:

我这里新建立的jin001发布服务器是用管理员级别的数据库用户test连接的,

到发布服务器的管理链接要输入密码的可选框, 默认的是选中的,

在新建的jin001发布服务器上建立和分发服务器fengyu/fengyu的链接的时需要输入distributor_admin用户的密码。到发布服务器的管理链接要输入密码的可选框,也可以不选,也就是不需要密码来建立发布到分发服务器的链接(这当然欠缺安全,在测试环境下可以使用)。

2、新建立的网络上另一台发布服务器(例如jin001)选择分发服务器

[欢迎使用配置发布和分发向导]->[选择分发服务器]

-> 使用下列服务器(选定的服务器必须已配置为分发服务器) -> [选定服务器](例如fengyu/fengyu)

-> [下一步] -> [输入分发服务器(例如fengyu/fengyu)的distributor_admin用户的密码两次]

-> [下一步] -> [自定义配置] -> [否,使用下列的默认配置]

-> [下一步] -> [完成] -> [确定]

建立一个数据库复制发布的过程:

[复制] -> [发布内容] -> 右键选择 -> [新建发布]

-> [下一步] -> [选择发布数据库] -> [选中一个待发布的数据库]

-> [下一步] -> [选择发布类型] -> [事务发布]/[合并发布]

-> [下一步] -> [指定订阅服务器的类型] -> [运行sql server 2000的服务器]

-> [下一步] -> [指定项目] -> [在事务发布中只可以发布带主键的表] -> [选中一个有主键的待发布的表]

->[在合并发布中会给表增加唯一性索引和 rowguidcol 属性的唯一标识符字段[rowguid],默认值是newid()]

(添加新列将: 导致不带列列表的 insert 语句失败,增加表的大小,增加生成第一个快照所要求的时间)

->[选中一个待发布的表]

-> [下一步] -> [选择发布名称和描述] ->

-> [下一步] -> [自定义发布的属性] -> [否,根据指定方式创建发布]

-> [下一步] -> [完成] -> [关闭]

发布属性里有很多有用的选项:设定订阅到期(例如24小时)

设定发布表的项目属性:

常规窗口可以指定发布目的表的名称,可以跟原来的表名称不一样。

下图是命令和快照窗口的栏目

( sql server 数据库复制技术实际上是用insert,update,delete *** 作在订阅服务器上重做发布服务器上的事务 *** 作

看文档资料需要把发布数据库设成完全恢复模式,事务才不会丢失

但我自己在测试中发现发布数据库是简单恢复模式下,每10秒生成一些大事务,10分钟后再收缩数据库日志,
这期间发布和订阅服务器上的作业都暂停,暂停恢复后并没有丢失任何事务更改 )

发布表可以做数据筛选,例如只选择表里面的部分列:

例如只选择表里某些符合条件的记录, 我们可以手工编写筛选的sql语句:

发布表的订阅选项,并可以建立强制订阅:

成功建立了发布以后,发布服务器上新增加了一个作业: [ 失效订阅清除 ]

分发服务器上新增加了两个作业:
[ jin001-dack-dack-5 ] 类型[ repl快照 ]
[ jin001-dack-3 ] 类型[ repl日志读取器 ]

上面蓝色字的名称会根据发布服务器名,发布名及第几次发布而使用不同的编号

repl快照作业是sql server复制的前提条件,它会先把发布的表结构,数据,索引,约束等生成到发布服务器的os目录下文件
(当有订阅的时候才会生成, 当订阅请求初始化或者按照某个时间表调度生成)

repl日志读取器在事务复制的时候是一直处于运行状态。(在合并复制的时候可以根据调度的时间表来运行)

建立一个数据库复制订阅的过程:

[复制] -> [订阅] -> 右键选择 -> [新建请求订阅]

-> [下一步] -> [查找发布] -> [查看已注册服务器所做的发布]

-> [下一步] -> [选择发布] -> [选中已经建立发布服务器上的数据库发布名]

-> [下一步] -> [指定同步代理程序登录] -> [当代理程序连接到代理服务器时:使用sql server身份验证]
(输入发布服务器上distributor_admin用户名和密码)

-> [下一步] -> [选择目的数据库] -> [选择在其中创建订阅的数据库名]/[也可以新建一个库名]

-> [下一步] -> [允许匿名订阅] -> [是,生成匿名订阅]

-> [下一步] -> [初始化订阅] -> [是,初始化架构和数据]

-> [下一步] -> [快照传送] -> [使用该发布的默认快照文件夹中的快照文件]
(订阅服务器要能访问发布服务器的repldata文件夹,如果有问题,可以手工设置网络共享及共享权限)

-> [下一步] -> [快照传送] -> [使用该发布的默认快照文件夹中的快照文件]

-> [下一步] -> [设置分发代理程序调度] -> [使用下列调度] -> [更改] -> [例如每五分钟调度一次]

-> [下一步] -> [启动要求的服务] -> [该订阅要求在发布服务器上运行sqlserveragent服务]

-> [下一步] -> [完成] -> [确定]

成功建立了订阅后,订阅服务器上新增加了一个类别是[repl-分发]作业(合并复制的时候类别是[repl-合并])

它会按照我们给的时间调度表运行数据库同步复制的作业。
3、sql server复制配置好后, 可能出现异常情况的实验日志:

1发布服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制没有多大影响

中断期间,分发和订阅都接收到没有复制的事务信息

2分发服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制有一些影响

中断期间,发布服务器的事务排队堆积起来
(如果设置了较长时间才删除过期订阅的选项, 繁忙发布数据库的事务日志可能会较快速膨胀),

订阅服务器会因为访问不到发布服务器,反复重试
我们可以设置重试次数和重试的时间间隔(最大的重试次数是9999, 如果每分钟重试一次,可以支持约69天不出错)

分发服务器sql server服务启动,网络接通以后,发布服务器上的堆积作业将按时间顺序作用到订阅机器上:

会需要一个比较长的时间(实际上是生成所有事务的insert,update,delete语句,在订阅服务器上去执行)
我们在普通的pc机上实验的58个事务100228个命令执行花了7分28秒

3订阅服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制影响比较大,可能需要重新初试化

我们实验环境(订阅服务器)从18:46分意外停机以, 第二天8:40分重启动后, 已经设好的复制在8:40分以后又开始正常运行了, 发布服务器上的堆积作业将按时间顺序作用到订阅机器上, 但复制管理器里出现快照的错误提示, 快照可能需要重新初试化,复制可能需要重新启动(我们实验环境的机器并没有进行快照初试化,复制仍然是成功运行的)
4、删除已经建好的发布和定阅可以直接用delete删除按钮

我们最好总是按先删定阅,再删发布,最后禁用发布的顺序来 *** 作。

如果要彻底删去sql server上面的复制设置, 可以这样 *** 作:

[复制] -> 右键选择 [禁用发布] -> [欢迎使用禁用发布和分发向导]

-> [下一步] -> [禁用发布] -> [要在"@servername"上禁用发布]

-> [下一步] -> [完成禁用发布和分发向导] -> [完成]

我们也可以用t-sql命令来完成复制中发布及订阅的创建和删除, 选中已经设好的发布和订阅, 按属标右键可以[生成sql脚本]。(这里就不详细讲了, 后面推荐的网站内有比较详细的内容)

当你试图删除或者变更一个table时,出现以下错误
server: msg 3724, level 16, state 2, line 1
cannot drop the table 'object_name' because it is being used for replication

比较典型的情况是该table曾经用于复制,但是后来又删除了复制。

处理办法:
select from sysobjects where replinfo >'0'
sp_configure 'allow updates', 1
go
reconfigure with override
go
begin transaction
update sysobjects set replinfo = '0' where replinfo >'0'
commit transaction
go
rollback transaction
go
sp_configure 'allow updates', 0
go
reconfigure with override
go

在域中如何建立两台sql server的数据发布和订阅
用向导,注意使用有权限的域账号就行了
将不是域控制器的服务器配置为既是发布服务器又是分发服务器,然后设置域控制器的服务器为订阅服务器,再设置订阅方式
1作发出版,分发服务器,必须要启动 SQLServerAgent服务
订阅服务器可以不用启动 SQLServerAgent服务
2在进行 *** 作之前,必须在出版分发服务器这边注册订阅服务器,两边最好建有相同结构的数据库
3从菜单中选Tools>>Republication>>Configure Publishing And SubScripter ,接着进行配置,Configure Publishing ,Subscirpter And Distribution配置要分发的数据库及其表,视图等
4创建分发管理 Create And Manager Publication,选择要分发的数据库
5接上在此基础上或Push Subscriptions to other,选取分发数据库下的出版物,再按右边的按钮:Push New Subscription,逐步按向导完成
启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
你用的账号没有读取\\ServerA\D$\Program Files\Microsoft SQL Server\MSSQL\repldata\unc\这个目录下的文件的权限。
启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
----^^^^^^^^^^^^^^^在控制面板-->管理-->服务-->sqlagent-->属性里的那个启动用户
访问权限要注意
启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
你用的账号要有读取\\ServerA\D$\Program Files\Microsoft SQL Server\MSSQL\repldata\unc\这个目录下的文件的权限。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10671718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存