`
lovecontry
  • 浏览: 1036540 次
文章分类
社区版块
存档分类
最新评论

关于禁用发布可能出现的问题处理

 
阅读更多

SQL Server在订阅和发布是经常出现一些意想不到的问题,导致发布订阅无法使用,此时经常需要对发布订阅进行删除,笔者经过多次试验,发现直接删除发布和订阅时,经常会出现删除不彻底,表面现象就是因发布订阅而出现的触发器、rowguid列等仍然存在,从而影响数据库的正常使用,这样还需要进一步对数据库处理才能彻底清楚发布和订阅。

其实在发布和订阅的选项里面,有一个禁用发布,使用此功能,一般会完成发布订阅的处理,也不会有任何的残留,所以提示大家在做发布和订阅的处理时,尽量使用禁用功能,当然,这样处理有时候也会产生一些异常,对于遗留下的触发器、rowguid列的问题,我们可以用一些脚本处理掉,脚本如下:

-- drop rowguid indexes

select 'drop index ' + sysobjects. name + '.' + sysindexes. name from

sysindexes

inner join sysobjects

on sysindexes. id = sysobjects. id

where objectproperty ( object_id ( sysobjects. name), 'IsMSShipped' ) = 0

and sysindexes. indid > 0 and sysindexes. indid < 255 and ( sysindexes. status &

64)= 0

and index_col ( sysobjects. name, sysindexes. indid, 1) = 'rowguid'

order by sysindexes. indid

-- remove rowguid default constraints

select 'alter table ' + b. name + ' drop constraint ' + a. name from

sysobjects a

inner join syscolumns on syscolumns. id = a. parent_obj

inner join sysobjects b on syscolumns. id = b. id

where syscolumns. name = 'rowguid'

and objectproperty ( object_id ( b. name), 'IsMSShipped' ) = 0

and a. xtype = 'D'

-- remove rowguid columns

select 'alter table ' + sysobjects. name + ' drop column ''rowguid'' ' from

syscolumns

inner join sysobjects on syscolumns. id = sysobjects. id

where syscolumns. name = 'rowguid'

and objectproperty ( object_id ( sysobjects. name), 'IsMSShipped' ) = 0

有时候 ,还会出现一下提示,

“标题: Microsoft SQL Server Management Studio
------------------------------

无 法删除发布“XXXX”。

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22&EvtSrc=Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.Replication.ReplicationMenuItem&EvtID=CantDeletePublication&LinkId=20476

------------------------------
其 他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。
已将数据库上下文更改为 'XXXX'。 (Microsoft SQL Server,错误: 15517
)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=15517&LinkId=20476

其实产生上述问题的主要原因是两方面:

1、可能是因为孤立用户引起的,其处理方式如下:

USE
 出问题的库名;

GO
-- 查看孤立用户
EXEC sp_change_users_login ' Report ' ;
GO
-- 修复孤立用户
EXEC sp_change_users_login ' Auto_Fix ' , ' 孤立用户名 ' , NULL , ' 用户密码 ' ;

还有一种情况是因为数据库的owner出现异常引起了
,解决方案如下:

USE 出问题的库名;
EXEC sp_changedbowner ' sa ' ;

然后在使用禁用的方式

,就可以完成发布订阅的处理了。

分享到:
评论

相关推荐

    gradle-trust-all:一个用于禁用 SSL 证书验证的 gradle 插件

    在 gradle 中使用这样的存储库时,您可能会收到错误消息: Error transferring file: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath....

    您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问解决方法

    症状:安装了防火墙(包括WINXP系统自带的防火墙),出现无法Ping通,或者是访问共享资源的时候提示"XXX无法访问"、"您可能没有权限使用网络资源"、"请与这台服务器的管理员联系以查明您是否有访问权限"、"找不到...

    Windows-10-Notice-Remover:禁用 GWX.exe 自动启动以删除 Windows 78 托盘菜单上有关 Windows 10 的通知

    Windows 10 Notice Remover 禁用...(MIT) 版权所有 (c) 2015 Juno_okyo 特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、

    淘客帝国5.24专业版发布(免费无限制,好用好使)

    解决部分客户容易出现标题丢失的问题。 优化部分模板详情里字体过大会乱码的问题。 优化伪静态规则分析,解决某些特殊后缀会解析失效的问题。 优化自动清理缓存功能,调整空间清理延迟。 (注意:)↓↓↓↓↓↓↓↓↓...

    毕节热线OA系统

    管理员可以对所有人发布的公告进行管理,如发现发布的公告有问题时可先“禁用”该公告,再进行修改,或直接删除该公告。 浏览公告:浏览别人发布且公开了的公告。 2.新闻信息 发布新闻:需要管理员在后台开通...

    bijieOAv1.2 真正的免费OA,让企业不用花一分钱也可以正常使用

    管理员可以对所有人发布的公告进行管理,如发现发布的公告有问题时可先“禁用”该公告,再进行修改,或直接删除该公告。 浏览公告:浏览别人发布且公开了的公告。 2.新闻信息 发布新闻:需要管理员在后台开通...

    深太极系统更新&发布工具(二合一)功能版

    3.主界面及公司界面禁用调整窗口大小。 V20110615: 1.程序排版加强。 2.加入Ftp测试按钮。 3.加入文件夹选择功能。 4.智能识别选择的路径。 5.加入了更新过程中的异常处理和现场恢复。 6.双击删除文件列表内容。...

    laravel-robots-middleware:启用或禁用应用程序的索引编制

    您可能需要继承自己的类,其中包含应用程序的索引规则处理程序。 // app/Http/Middleware/MyRobotsMiddleware.phpuse Illuminate \ Http \ Request ;use Spatie \ RobotsMiddleware \ RobotsMiddleware ;class ...

    U盘软件Rufus 3.22 Beta版发布:不再支持Win7 ISO镜像下载

    近日,Rufus发布了3.22 Beta版本,对软件进行了多处优化与修改。在3.22 Beta版本中,Rufus引入了在Windows用户体验对话框中禁用自动BitLocker加密的功能。配合现有的安装选项,软件现在能够实现个性化Win11安装媒介...

    cdncontrol, 用于处理多个cdn的CLI工具.zip

    cdncontrol, 用于处理多个cdn的CLI工具 CDNControlCDNControl是一个 rubygem,它提供动态... 它可以以用来控制我们的osi提供商之间的流量平衡,也可以以启用或者禁用个别的发布服务器。安装 gem-安装cdncontrol 在ru

    cookie-test:禁用启用 cookie 的实用程序

    &gt; 特此授予获得本软件副本和相关文档文件(“软件”)副本的任何人免费许可,不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售软件的副本,并允许向其提供软件的人员...

    PPP:PPP使用LCP设置和维护链路

     本地提供商问题 1) 检查CSU/DSU的CD信号和其它信号,看链路是否在发送和接收信息2) 如果没有CD信号或有其它问题,联系本地提供商处理故障  不合格或故障的线缆 1) 使用符合设备要求的线缆2) 使用breakout盒...

    Microsoft SQL Server 2005 Express Edition SP3

    由于未在 Windows 中完全配置 Microsoft 分布式事务处理协调器 (MS DTC),因此,应用程序可能无法在分布式事务中登记 SQL Server Express 资源。此问题会影响使用分布式事务的链接服务器、分布式查询以及远程存储...

    laravel-feature-flags:Laravel软件包,用于处理应用程序中的功能标志

    处理应用程序中的功能标志 该软件包将帮助您将应用程序的某些部分标记为(不活动)。 :warning: 此软件包的较小发行版可能尚未引起稳定的发行,因此可能会导致重大更改。 该软件包可以解决什么问题? “功能标记...

    [2010.10.14][封装工具][天空作品] Easy Sysprep v3 RC3(+ SkySRS3.00)

    2、修正部署背景可随部署分辨率变化而变化,此问题可能会造成部署跳分辨率时背景显示不全屏的问题 3、加入基本的Win7部署背景修改功能,支持Win7部署背景多图切换,但此功能尚不十分完善,待进一步开发 4、加入多...

    TCP/IP症状和原因

     本地提供商问题 1) 检查CSU/DSU的CD信号和其它信号,看链路是否在发送和接收信息2) 如果没有CD信号或有其它问题,联系本地提供商处理故障  不合格或故障的线缆 1) 使用符合设备要求的线缆2) 使用breakout盒...

    Topaz Video AI 3.0.11一款功能非常强大的模糊视频变清晰视频无损放大软件.rar

    在文件下拉列表中添加了“关闭视频 - Command/Ctrl+W”选项,处理时禁用双击 杂项。错误修复和改进,已知的问题,如果您已登录并在 Windows 上收到水印,请尝试%PROGRAMDATA%\Topaz Labs LLC\Topaz Video AI\models\...

    citrix 中文管理操作手册

    禁用服务器上所有已发布应用程序的命令行验证 42 配置已发布内容的位置 43 配置内容重定向 43 将内容从客户端重定向到服务器 43 配置从客户端到服务器的内容重定向 44 配置内容重定向时使用客户端设备上的 Windows ...

    天盾网络验证726免费版.zip

    1、 [修复] 修复多台电脑出现同一机器码可多台电脑登录使用问题 2、 [增加] 模块增加 验证_查询账号或卡号剩余时间()命令 3、 [修复] 修复搜索用户栏切换软件 读不到机器码 到期时间等数据问题 4、 [增加] 企业版...

    淘客帝国5.21

    优化 没填搜索内容搜索,会出现找不到页面的问题优化。 优化 wordpress整合乱码问题,以及标签和类别混淆问题 优化 优化 onepage模板,图片不能直接到淘宝的问题,后台设置无效的问题 优化 能搜出来,不能跳转淘宝,...

Global site tag (gtag.js) - Google Analytics