0

はじめに、この質問に答えるコマンドを以前に見たことがありますが、今はそれを見つけることができないため、問題を解決する単一の SQL ステートメントを探しています。

ある時点で SQL Server 2000 データベースに 2 つのパブリケーションがありましたが、その後それらを削除しました。しかし、私のログ ファイルは増大しており、レプリケートされていないトランザクションが含まれているように見え、際限なく増大しています。私はこれを試しました:

EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1

「データベースは公開されていません」というメッセージが表示されます (公開を削除したので、それは理にかなっています)。私が試してみると:

backup log dbname with truncate_only

ログにレプリケートされていないトランザクションがあり、切り捨てられないというメッセージが表示されます。

以前、パブリケーションが存在しなかったのに、データベースがまだレプリケーションに参加しているとマークされていて、レプリケーションのソースとしてデータベースのフラグを外す 1 行のスクリプトを見つけたので、すぐに問題が解決しました。今は見つけられませんが、また必要になったときに、誰かが光を当てることができれば幸いです。ありがとう!

4

3 に答える 3

1
use master
go
exec sp_replicationdboption @dbname='SERVICEDESK', @optname = 'publish', @value= 'true', @ignore_distributor = 1
go
use servicedesk
go
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0,  @time = 0, @reset = 1
go
use master
go
exec sp_replicationdboption @dbname='SERVICEDESK', @optname = 'publish', @value= 'false', @ignore_distributor = 1
go
dump tran servicedesk with no_log
go
于 2010-12-15T09:11:34.347 に答える
0

何方をお探しですか:

EXEC sp_replicationdboption 
    @dbname = @publicationDB, 
    @optname = N'merge publish', 
    @value = N'false'

?

sp_dropmergepublication / sp_droppublicationも参照してください。

于 2009-04-07T19:38:01.677 に答える