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集成用户

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

创建订阅成功

右键查看订阅


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

相关推荐
扎量丙不要犟14 小时前
rust如何操作sqlserver
数据库·sqlserver·rust·tiberius
weixin_307779132 天前
本地Apache Hive的Linux服务器集群复制数据到SQL Server数据库的分步流程
数据库·数据仓库·hive·sqlserver
weixin_307779136 天前
C++和Python实现SQL Server数据库导出数据到S3并导入Redshift数据仓库
数据库·c++·数据仓库·python·sqlserver
hillstream37 天前
Synology 群辉NAS安装(6)安装mssql
数据库·sqlserver
铁头乔12 天前
想从 IoTDB 中读取大量数据经过一定程度的分析再写入 MySQL 或 SQLServer,在这种需求下,哪一种 ETL 方案最适合
数据库·mysql·sqlserver·开源·时序数据库·iotdb
诗和远方ya13 天前
visual studio连接sql server数据库
数据库·sqlserver·软件工程·visual studio
BillKu14 天前
数据库存储上下标符号,sqlserver 2008r2,dm8
数据库·sqlserver·达梦数据库·dm8
鹿人甲丁18 天前
Microsoft Sql Server 2019 触发器
数据库·sqlserver
许仙在199719 天前
【无标题】四类sql语句通用
数据库·sql·mysql·sqlserver
1999092319 天前
C#+Winform+SQLServer+图书管理系统
sqlserver·c#·winform