SqlServer 无法为可更新的订阅设置发布服务器登录名 sp_link_publication
原文:SqlServer 无法为可更新的订阅设置发布服务器登录名 sp_link_publication
没有截图:
创建可更新订阅,正常创建了发布,在订阅端创建订阅,最后一步提示完成,却出现了警告:
无法为可更新的订阅设置发布服务器登录名。可能需要使用 sp_link_publication 直接在订阅服务器计算机上设置它。
突然想起来这个发布和订阅的数据库都是其他库还原过来的,应该是账号问题:
在发布数据库和订阅数据库都执行:
-- 查看孤立数据库用户
exec sp_change_users_login @Action='Report';
发现警告中提示的数据库用户(repllinkproxy)是孤立的,也就是没有关联到本地的登录账户(repllinkproxy)
--数据库用户关联到sql server登录名
exec sp_change_users_login
@action='update_one',
@usernamepattern='repllinkproxy',
@loginname='repllinkproxy';
go
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
还有一种方法:
在创建订阅的最后一步,使用现有的连接服务器名称作为连接,也可能有上面的错误提示!
解决方法是在订阅服务器中执行以下脚本设置连接安全信息:
exec sp_link_publication
@publisher = 'publisher'
, @publisher_db = 'publisher_db'
, @publication = 'publication'
, @security_mode = security_mode
若出现以下错误:
链接服务器"DB"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "该事务管理器已经禁止了它对远程/网络事务的支持。"。
消息 7391,级别 16,状态 2,第 1 行
无法执行该操作,因为链接服务器 "DB" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务。
解决方法是:右键服务器链接,在服务器选项中,把 “为RPC启用针对分布式事务的升级” 改为 “false”,再重新执行上面的语句。或者sql脚本执行
USE [master]
GO
EXEC master.dbo.sp_serveroption @server=N'LinkServerName', @optname=N'remote proc transaction promotion', @optvalue=N'False'
GO
SqlServer 无法为可更新的订阅设置发布服务器登录名 sp_link_publication的更多相关文章
- SQL Server 数据库同步,订阅、发布、复制、跨服务器
随便说两句 折腾了一周,也算把数据库同步弄好了.首先局域网内搭建好,进行各种测试,弄的时候各种问题,弄好以后感觉还是挺简单的.本地测试好了,又在服务器进行测试,主要的难点就是跨网段同步,最后也解决了, ...
- Lua热更新时正确设置文件名
Lua热更新时正确设置文件名(金庆的专栏 2016.12)Lua热更新模块见:https://github.com/jinq0123/hotfix其中使用 load(chunk) 来加载更新后的内容, ...
- sqlserver登录名权限和用户名权限语句设置
在sqlserver的安全体系中分为登录名和用户名,登录名是用于登录整个数据库系统用的,用户名是针对各个具体的数据来创建的用户,所以针对权限设置要有这个两个用户进行分别设置,下面写下用语句设置这两个用 ...
- SqlServer 利用游标批量更新数据
SqlServer 利用游标批量更新数据 Intro 游标在有时候会很有用,在更新一部分不多的数据时,可以很方便的更新数据,不需要再写一个小工具来做了,直接写 SQL 就可以了 Sample 下面来看 ...
- Replication的犄角旮旯(八)-- 订阅与发布异构的问题
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...
- sql server 本地复制订阅 实现数据库服务器 读写分离(转载)
转载地址:http://www.cnblogs.com/echosong/p/3603270.html 再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下S ...
- sql server 本地复制订阅 实现数据库服务器 读写分离
再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下SQL Server的复制订阅实现数据的读写分离 比起mysql的复制,SQL server 复制相对强大 ...
- SQL SERVER2000中订阅与发布的具体操作
同步过程 一.准备工作,如果完成则可跳过. 1.内网DB服务器作为发布服务器,外网DB服务器作为订阅服务器. 发布服务器和订阅服务器上分别创建Windows用户jl,密码jl,隶属于administr ...
- VB.net Wcf事件广播(订阅、发布)
这篇东西原写在csdn.net上,最近新开通了博客想把零散在各处的都转移到一处. 一.源起 学WCF有一段时间了,可是无论是微软的WebCast还是其他网上的教程,亦或我购买的几本书中,都没有怎么 ...
随机推荐
- PHP数组foreach循环如何实现逆序访问?
PHP数组foreach循环如何实现逆序访问? 一.总结 1.array_reverse($array) :foreach(array_reverse($array) as $key=>$val ...
- 【t058】拜年
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 拜年是中国人少不了的风俗.还没过年呢,刚上小学的妮妮已经等不及要给她的小伙伴去拜年了,但是她不知道如何 ...
- cocos2d-x 3.4 中文乱码解决之道
cocos2dx 中文乱码解决之道 须要引入五个文件 1.iconv.h 2.iconvString.cpp 3.iconvString.h 4.iconv.dll 5.libiconv.lib 完整 ...
- UITableView的一些常用设置和代理方法
- (void)viewDidLoad { [super viewDidLoad]; tableview = [[UITableView alloc]initWithFrame:CGRectMake( ...
- Tomcat下ajax请求路径总结
ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"ht ...
- 监控Nginx服务的Shell脚本
Nginx 虽然处理并发量比 apache 确实要强点,但它这种 php-cgi 模式不是太稳定,这点网上也有朋友总结了,我在实现项目中也感受到了. 我们一台支付机,偶尔会出现以下情况的:php-cg ...
- Cordova app 检查更新 ----创建项目、添加插件、修改插件(一)
原文:Cordova app 检查更新 ----创建项目.添加插件.修改插件(一) 使用Cordova 进行跨平台应用程序的开发 1.创建Cordova项目 $ cordova create hell ...
- Live Unit Testing
Live Unit Testing 相对于传统的Unit Test,VS2017 带来了一个新的功能,叫Live Unit Testing,从字面意思理解就是实时单元测试,在实际的使用中,这个功能就是 ...
- Java native代码编译步骤简书
Java native代码编译步骤简书 目的:防止java代码反编译获取密码算法 (1)编写实现类com.godlet.PasswordAuth.java (2)编译java代码javac Passw ...
- Entity Framework知识小总结
什么是Entity Framework EF是微软主推的数据存取技术,在实际开发中,现在通常使用EF来构建应用程序的数据存取层,它是一个开源的“对象/关系映射(ORM:Object Relationa ...