Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
해당되는 게시물 4건
  복제가 정말 정말 안지워지십니까? 
작성일시 : 2008.05.15 10:50 | 분류 : SQL Server/Administration | 태그 : Delete, menual remove, Remove, Replication, sp_removedbreplication, SQL Server

별 짓을 다해봐도 복제가 안지워 지십니까?

방법 1 : http://msdn.microsoft.com/ko-kr/library/ms152757.aspx
방법 2: http://support.microsoft.com/kb/324401

1번과 2번 모두 써 보셨습니까?
마지막으로 희망을 하나 걸어 보세요.
sp_removedbreplication : 모든 복제 관련 개체를 삭제 합니다.

먼저 다음 쿼리를 이용하여 복제 구성이 잘 삭제 됐는지 확인 합니다.
select replinfo, * from sysobjects where replinfo=0 인 녀석을 찾으면 됩니다.

[구문]
sp_removedbreplication [ [ @dbname = ] 'dbname' ] [ , [ @type = ] type ]

[인수]
@dbname= 'dbname'데이터베이스의 이름입니다. dbnamesysname이며 기본값은 NULL입니다. NULL인 경우 현재 데이터베이스를 사용합니다.

@type = type
데이터베이스 개체를 제거 중인 복제의 유형입니다. typenvarchar(5)이며 다음 값 중 하나일 수 있습니다.
tran : 트랜잭션 복제 게시 개체를 제거합니다.
merge : 병합 복제 게시 개체를 제거합니다.
both(기본값) : 모든 복제 게시 개체를 제거합니다.

[참고]
http://msdn.microsoft.com/ko-kr/library/ms188734.aspx

신고
  게시자의 트렌젝션 로그가 삭제 되지 않을때 
작성일시 : 2008.03.26 17:17 | 분류 : SQL Server/Administration | 태그 : log, opentran, Remove, shrink, sp_repldone, Transaction, 게시자, 삭제, 트렌젝션 로그

이 경우 게시자의 트렌젝션을 구독자가 받지 않았기 때문에 모든 트렌젝션은 활성이 됩니다.
물론 앞의 아티클과 같이 게시를 제거하는 방법도 있겠지만, 모든 트렌젝션을 게시한것처럼 업데이트 할 수 있습니다.
이때 사용되는 구문이 sp_repldone 입니다.
자 모든 트랜젝션이 모두 배포자에게 배포 되었다라고 하기 위해서는 아래의 구문을 사용합니다.

EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
자 모든 트렌젝션을 배포됐다고 선언 했습니다.
이후에 트렌젝션을 백업 받고 잘라내면 됩니다...^^

[기타]

활성화된 트렌젝션은 dbcc opentran( ) 를 통해 확인 할 수 있습니다.

[sp_repldone 옵션 설명]

[ @xactid=] xactid
서버에서 마지막으로 배포된 트랜잭션에 대한 첫 번째 레코드의 LSN(로그 시퀀스 번호)입니다. xactidbinary(10)이며 기본값은 없습니다.
[ @xact_seqno=] xact_seqno
서버에서 마지막으로 배포된 트랜잭션에 대한 마지막 레코드의 LSN입니다. xact_seqnobinary(10)이며 기본값은 없습니다.
[ @numtrans=] numtrans
배포된 트랜잭션 수입니다. numtransint이며 기본값은 없습니다.
[ @time=] time
트랜잭션의 마지막 일괄 처리를 배포하는 데 필요한 시간(밀리초)입니다. timeint이며 기본값은 없습니다.
[ @reset=] reset
다시 설정 상태입니다. resetint이며 기본값은 없습니다. 1인 경우 로그 내의 복제된 모든 트랜잭션이 배포됨으로 표시됩니다. 0인 경우 트랜잭션 로그가 첫 번째 복제된 트랜잭션으로 다시 설정되고 복제된 트랜잭션이 배포됨으로 표시되지 않습니다. resetxactidxact_seqno가 모두 NULL인 경우에만 유효합니다.

[참고]
http://technet.microsoft.com/ko-kr/library/ms173775.aspx

신고
  SQL 2000 / 2005 Replication 수동 삭제 방법 
작성일시 : 2008.03.26 16:26 | 분류 : SQL Server/Administration | 태그 : mananully, Remove, Replication, 게시자, 구독자, 배포자, 수동 삭제, 제거

Replication 의 수동 삭제는 다음의 순서에 따라 이루어 져야 한다.
구독자 > 게시자 > 배포자

[게시자 삭제 방법]

스냅샷 게시자 삭제 (sp_droppublication)
You can use the sp_droppublication system stored procedure to drop a publication and the articles that are associated with the publication. You must run the stored procedure at Publisher on the publication database.
- 예
USE <Publication database name>
GO
EXEC sp_droppublication @publication = N'<Publication name>'
USE master
GO
exec sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'

트렌젝션 로그 게시자 삭제 (sp_dropmergepublication)
You can use the sp_dropmergepublication system stored procedure to drop a merge publication and the Snapshot Agent that is associated with the merge publication. The articles that are associated with the publication are also dropped. You must run the stored procedure at Publisher on the publication database.
- 예
USE <Publication database name>
GO
EXEC sp_droppublication @publication = N'<Publication name>'
USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'

머지 게시자 삭제 (sp_replicationdboption)
You can use the sp_replicationdboption system stored procedure to set a replication database option for the current database. You must run the stored procedure at the Publisher server.
- 예
USE <Publication database name>
GO
EXEC sp_dropmergepublication @publication = N'<Publication name>'
USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'merge publish', @value = N'false'

구독자 / 배포자 삭제 는 다음 문서를 참고한다.
http://support.microsoft.com/kb/324401

신고
  tempdb의 ndf가 삭제가 되지 않는다. 
작성일시 : 2007.11.18 03:14 | 분류 : SQL Server/Administration | 태그 : Delete, error, Level 16, Msg 5042, ndf, Remove, State 1, tempdb, TroubleShooting

[에러 메세지]
Server: Msg 5042, Level 16, State 1, Line 1
The file 'tempdev4' cannot be removed because it is not empty.
File 'E:\Microsoft SQL Server\MSSQL\data\tempdev4.ndf' modified in
sysaltfiles. Delete old file after restarting SQL Server.

tempdb의 ndf 파일이 삭제가 않된다는 애기를 듣는 경우가 있다.
원인은 해당 ndf에 table이 존제하기 때문인데, 간단한 쿼리를 통하여 해당 ndf를 삭제하는 방법을 공유하도록 하겠다.

[Action Item]
먼저  Tempdb의 file 구성을 확인 한다.
use tempdb
go
sp_helpfile

위의 커멘드를 통하여 Name 및 Filename을 확인 했으면 직접 삭제 해 보도록 하겠다.
dbcc shrinkfile(tempdev_1, emptfle) //  TempDB 내부 데이터를 삭제
go
alter database tempdb
remove file tempdev_1 // tempdb의 첫번째 ndf 삭제


이제 손쉽게 tempdb의 ndf를 삭제하도록 하자.

신고
 Prev   1   Next 

티스토리 툴바