sql server 非sa账号配置发布订阅

如果有些源端环境,sa账号被禁用,或者有其他问题,那可以按以下步骤操作。

使用高权限账户登录,另外需要拥有源端windows用户管理员的账号和密码

表发布订阅成功的前提:发布的表必须有主键。

创建一个专门用于发布订阅的账号:

用户名ydlr_rep

密码 **********

在实例的安全性-》登录名下面创建,如图

给与dbo,db_owner权限。

以annetest数据库为例:

点击确定。

查看annettest数据库下面,有了ydlr_rep这个用户

下面用ydlr_rep这个用户登录,创建发布订阅试一下。

提示

目前所有者是sa

更改所有者提示

在安全性,登录名中取消映射。(这一步操作非常危险,如果业务账号,会导致暂时无法访问对应数据库)

点击确定。

然后再更改数据库拥有者:

然后数据库拥有者变更成功,如下图所示:

登录名的用户映射中变为:

再使用ydlr_rep 用户登录创建发布试一下。

可以看到原先的发布,直接删除会报错,但去除对应表后,可以删除。

新建本地发布

到快照代理安全性这边,只能使用windows账户,sql server代理账户不可选。

输入以下内容

提示

查找文档 https://learn.microsoft.com/zh-cn/sql/relational-databases/replication/snapshot-agent-security?view=sql-server-ver16

修改windows账户权限

LR-XT-POC-07\Administrator

再配置发布

点击确定后

下一步,创建发布成功。

打开复制监视器:

发布成功了。

订阅端订阅一下试试:

用sa登入订阅端,查找发布服务器的时候,使用ydlr_rep用户。

找到如下发布

点击下一步,选择在分发服务器运行

此处需要配置,使用源端的windows集成用户

点击下一步,选择连续运行

创建订阅成功

右键查看订阅


查看表,发现已经订阅成功。

相关推荐
aloha_7892 天前
Java 基础、集合、异常与 JUnit 5 速查
java·junit·sqlserver
betazhou7 天前
Apache Seatunnel 抽取SQL server实时同步到Oracle-多表同步(五)
数据库·oracle·sqlserver·apache·seatunnel
betazhou9 天前
Apache seatunel配置-数据同步测试(直接把采集数据打印到控制面板) - SQL server
sqlserver·apache·seatunnel
福娃筱欢11 天前
SQLServer迁移至KES SQLServer模式 问题整理
数据库·oracle·sqlserver
xuefuhe16 天前
SQL Server:数据库没配置publication,但sp_replcounters 显示有事务积压
sqlserver
geovindu23 天前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
路远的数据库笔记24 天前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
xuefuhe1 个月前
SQL Server AG从节点关机-Replication异常-TF1448
sqlserver
Arcai10241 个月前
SQL Server 备份和恢复完全指南:从入门到精通
数据库·sqlserver·数据恢复·数据备份·备份一体机·杭州智备
xuefuhe1 个月前
SQL Server:replication添加新的article而无需对旧的重新生成snapshot
sqlserver