SQL Server删除distribution数据库二

以前总结过一遍博文SQL Server删除distribution数据库,里面介绍了如何删除distribution数据库。今天介绍一个删除distribution的特殊案例,

在这之前,我不知道这个服务器上的Replication被如何折腾过,在SSMS管理界面的Local Publications和Local Subscriptions里面已经看不到任何关于发布、订阅相关的内容。

但是使用命令EXEC sp_helpdistpublisher会看到使用分发服务器的发布服务器的属性

下面SQL的参数@publisher对应上面name的值,此处用xxxx替代

USE master;
 

GO

 

exec sp_dropdistpublisher  @publisher = ‘xxxx‘

我们通过下面SQL,发现其在数据库(暂且用A表示)A上面做过发布,

执行下面SQL时,报错误,因为这个数据库上有一个数据库级别的触发器safety,禁止任何DDL操作,首先禁用这个触发器后,执行下面SQL,就会将下面截图部分触发器全部清理。

USE master;
go

EXEC sp_removedbreplication ‘A‘

然后按照SQL Server删除distribution数据库里面步骤,依葫芦画瓢,执行下面SQL,就能轻轻松松的将distribution数据库删除。

USE ArtDB;
GO

exec sp_dropdistpublisher  @publisher = ‘xxx‘

 

 

USE master;

GO

 

exec sp_dropdistributiondb @database = N‘distribution‘

GO

时间: 2024-08-29 20:12:44

SQL Server删除distribution数据库二的相关文章

SQL Server删除distribution数据库

在数据库服务器删除复制(发布订阅)后,如何删除掉数据库distribution呢?如果你通过SSMS工具去删除数据库distribution,你会发现根本没有删除选项. 下面介绍一下删除distribution的步骤 步骤1: 查看相关订阅服务器的信息,如果还存在对应的订阅服务器,从注册的服务器中删除订阅服务器名称 exec sp_helpsubscriberinfo ; go exec sp_dropsubscriber 'SubscriberName'; go 步骤2: 查看分发服务器的发布

SQL Server 删除当前数据库中所有数据库 ,无视约束

Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: exec sp_msforeachtable  @Command1 ='truncate table ?' 删除所有数据表: exec sp_msforeachtable 'delete   N''?''' 清空SQL Server数据库中所有表数据的方法(有约束的情况) 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循

sql server 删除数据库

以前的数据库装在虚拟机里,今天在本机上装了一个SQL2008,远程连接到虚拟机里的SQLSERVER上以后,用drop database test删除以前的测试数据库失败,提示“无法删除数据库 'test',因为该数据库当前正在使用”.当时虚拟机刚开,实在弄不懂为什么会提示说正在使用中.如果重启,太不甘心,上网找了一下,发现只需要几步就可以完美解决: 以下为相关代码 use master go sp_who kill 53 drop database test sp_who当前用户.会话和进程的

SQL Server 2008 R2数据库镜像部署图文教程

数据库镜像是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中 概述 “数据库镜像”是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在同一时刻,其中一台上的数据库用于客户端访问,充当“主体服务器”角色:而另一台则根据镜像会话的配置和状态,充当热备份服务器,即“镜像服务器角色”,这两

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

【SQL Server】还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”的解决办法

今天在对数据库备份与还原的过程中,我遇到一个问题"介质集有2个介质簇,但只提供了1个.必须提供所有成员",下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两天用户测试我们做的评教系统小软件,有点问题我们过去看了看,想将他们的测试数据备份一下,以便我们修改软件测试使用. 我是这样备份的,数据库备份默认有一个路径:C\...,而我又添加了一个新路径,没将默认路径删除,而是选中新路径,我就理所当然的认为数据库中的数据备份到我新加的路径下了. 今

SQL Server和Oracle数据库索引介绍

SQL Server和Oracle数据库索引介绍 1 SQL Server中的索引 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行. 表或视图可以包含以下类型的索引: 聚集索引 聚集索引根据数据行的键值在表或视图中排序和存储这些数据行.索引定义中包含聚集索引列.每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序. 只有当表包含聚集索引

SQL Server 2008创建数据库

1.数据.数据库.数据管理系统基本概念: 数据:人类有用信息的符号化表示. 数据库:按照数据结构来组织.存储和管理数据的一个仓库. 数据库管理系统(DBMS):可维护.存储并为应用系统提供数据的软件系统(软件+数据库+数据管理员). 可以客观描述的事物被称为"实体",不同的数据体现了不同的实体.数据每一行(Row)对应一个实体,被称为"记录(record)",每个输入项称为"列"(Column),如编号,姓名,学号等.数据"表"

SQL Server中使用数据库快照的方式来完成测试环境中数据库的轻量级备份还原操作

原文:SQL Server中使用数据库快照的方式来完成测试环境中数据库的轻量级备份还原操作 在开发或者测试环境的数据库中,经常会发现有开发或者测试人员误删除表或者数据的情况,对于开发或者测试库,一般都没有安排定时的备份任务去备份数据库,一方面是由于存储资源有限,不太可能给开发或者测试环境准备大量的存储空间,二是必要性不是很强,开发或者测试库的数据库对象变化太多,通过还原备份的方式又有可能冲掉其最近新建的数据库对象.但是不得不面对的问题就是个别人在执行update或者delete操作的时候“忘了加