1. 程式人生 > >sqlServer刪除釋出問題

sqlServer刪除釋出問題

錯誤提示(配置釋出和禁用複製功能時提示 分發伺服器未正確安裝。):

1、無法為本地伺服器找到分發伺服器或分發資料庫。可能未安裝分發伺服器,也可能在分發伺服器上未將本地伺服器配置為釋出伺服器。

2、SQL Server 無法禁用“xxxx”上的釋出和分發。

------------------------------
其他資訊:

執行 Transact-SQL 語句或批處理時發生了異常。 (Microsoft.SqlServer.ConnectionInfo)

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

分發伺服器未正確安裝,所以無法使資料庫不可釋出。

問題原因:

      伺服器換過主機,所以此時機器名不一樣了,以前的釋出專案都是之前的機器名,所有釋出的專案在現在的機器名上未能成功刪除,最終導致複製功能不可用。由於 sql的複製功能都是通過機器名去定址的,所以在更換主機後由於新的機器名和舊的不一樣,故提示分發伺服器為正確安裝。

解決方案如下:

//清空dbname資料庫所有的訂閱和釋出專案
所有本伺服器上有釋出或訂閱的的資料都用下面的命令清理掉就可以了。
sp_removedbreplication 'dbname'

//如果之前機器名有釋出或訂閱專案 可以使用如下命令檢視
use dbname
select * from syspublications

use dbname
select * from syspublications

-----------------------下面為一些實用的命令----------------------------

//檢視連結伺服器
select * from sys.servers


//檢視伺服器例項名稱
select @@servername

USE master
//開啟資料庫的可合併釋出
EXEC sp_dboption 'dbname', 'merge publish', 'TRUE'
//開始資料庫的複製功能
EXEC sp_dboption 'dbname', 'published', 'TRUE'

//檢視已註冊伺服器例項
exec sp_helpserver

注:以上dbname都是指的資料庫名稱。根據自己的資料名來寫

相關推薦

sqlServer刪除釋出問題

錯誤提示(配置釋出和禁用複製功能時提示 分發伺服器未正確安裝。): 1、無法為本地伺服器找到分發伺服器或分發資料庫。可能未安裝分發伺服器,也可能在分發伺服器上未將本地伺服器配置為釋出伺服器。 2、SQL Server 無法禁用“xxxx”上的釋出和分發。 ---------

SqlServer刪除複製監視器中無效的釋出名稱

在伺服器複製監視器中有一個釋出名稱,因為該釋出訂閱已經刪除。 ReportServerTempDB只有一個釋出,已無效,打算刪除。 --直接刪除表記錄 select * from dbo.MSsnapshot_agents where publisher_db='Re

SQLServer刪除重復數據的方法》

ron 字段名 group delet 不一定 class 復數 表名 刪除重復 方法一: declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) fr

SQLServer刪除數據列

span ctrl+s 默認值 過程 問題 image lte ble 環境 刪除數據列 開發或者生產過程中多建、錯誤或者重復的數據列需要進行刪除操作。 使用SSMS數據庫管理工具刪除數據列 方式一 1、打開數據庫->選擇數據表-》展開數據表-》展開數據列-》選擇要刪

sqlserver 刪除表佔用空間隨筆

sqlserver伺服器的硬碟空間只有幾個G了,嘗試清理下表佔用空間 SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE

sqlserver 刪除表結構

sqlserver-----------刪除表結構use IndividualTaxGOdeclare @sql varchar(8000)while (select count(*) from sysobjects where type='U')>0beginSELECT @sql='drop tab

使用Sqlserver事務釋出實現資料同步

下載網站:www.SyncNavigator.CN   客服QQ1793040 ----------------------------------------------------------     關於HKROnline

MS SQLSERVER刪除重複資料且只保留一條

背景:表Per_CheckIn,主要欄位:pid--身份證號,checktime-刷身份證時間,由於誤操作,導致了重複記錄產生,現需將pid和checktime一樣的記錄刪除。具體表結構:CREATE TABLE [Per_CheckIn]( [id] [INT] IDEN

Sqlserver刪除重複資料的方法

方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主欄位,count() from 表名 group by 主欄位 having count() >

SqlServer 監控釋出中未分發的命令數

對於檢視未分發的命令數,我們通常這樣檢視。 然而當伺服器有很多釋出時,一個個開啟檢視就很麻煩 當然,如果想用指令碼檢視就更方便了,執行下面的語句 --檢視各發布訂閱未分發的命令數和估計時間 SELECT 'EXEC distribution.sys.sp_repl

sqlserver刪除使用者或登入

下面的示例從當前資料庫刪除使用者 test。 EXEC sp_dropuser 'test' 下面的示例從 SQL Server 中刪除登入 test。 EXEC sp_droplogin 'test'

SQL Server 無法刪除釋出服務

sp_removedbreplication 從資料庫中刪除所有複製物件,但不更新分發伺服器上的資料。此儲存過程在釋出伺服器的釋出資料庫或訂閱伺服器的訂閱資料庫上執行。 語法 sp_removed

SqlServer刪除登入名報錯

1.# ‘解決 在刪除該登入名之前,請更改相應資料庫的所有者# 找到 對應使用者所擁有的資料庫許可權,並轉給其他使用者-- step1. 找出所有dbowner為RCET的資料,併產生修改dbowner的SQL指令碼. 將RECT 使用者 轉給 SAselect 'use [

SQLServer釋出與訂閱

  在對資料庫做遷移的時候,會有很多方法,用儲存過程,job,也可以用開源工具lettle,那麼今天這些天變接觸到了一種新的方法,就是SqlServer中自帶的釋出與訂閱。   首先說明一下資料複製的流程。如下圖A是(192.168.210.170)上的資料庫,B是(172

刪除釋出訂閱

DECLARE @subscriptionDB AS sysnameSET @subscriptionDB = N'釋出資料庫名'USE masterEXEC sp_removedbreplication @subscriptionDBGO

如何從 SQL Server中手動刪除複製(刪除釋出訂閱)

本文介紹的步驟可以使用手動刪除 (解除安裝) 複製,通過使用儲存的過程和 Transact-SQL 命令。 本文中的該資訊可能在您懷疑未正確,被刪除的複製某些元素中,並且想要手動刪除這些元素的情況下有用。 如果複製未正確刪除,以前釋出的資料庫的事務日誌可能會填滿,因為日誌不能

sqlserver刪除 日誌檔案

SqlServer日誌刪除方法 1,開啟Microsoft SQL Server Managerment Studio,選中要刪除日誌的資料庫,右鍵 屬性   2 選項->恢復模式選中簡

sqlserver刪除約束和動態約束

在SQL資料庫中,如果需要刪除表約束,應該如何操作呢?下面就將為您介紹刪除SQL表約束的方法,供您參考,希望對您有所幫助。 1)禁止所有表約束的SQL select 'alter table '+name+' nocheck constraint all' from s

sqlserver刪除資料庫中所有的表

如果由於外來鍵約束刪除table失敗,則先刪除所有約束: --/第1步**********刪除所有表的外來鍵約束*************************/ DECLARE c1 cursor for select 'alter table ['+ object_n

sqlserver表、視圖、索引(創建、修改、刪除)相關示例

sqlserver表、視圖、索引一、表相關1、創建USE [test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Ceshi]( [id] [int] NOT NULL, [name] [varch