The meta data is from an SQL 2012 Server.
I have posted alot more, find the whole list here.
Goto Definition or MetaData
Definition:
sys.sp_requestpeerresponse(nvarchar @publication, nvarchar @description)
MetaData:
create procedure sys.sp_requestpeerresponse ( @publication sysname, @description nvarchar(4000) = NULL, @request_id int = NULL output ) as begin set nocount on declare @OPT_ENABLED_FOR_P2P int declare @retcode int, @cmd nvarchar(4000), @originator sysname, @originator_db sysname select @OPT_ENABLED_FOR_P2P = 0x1 select @cmd = NULL, @request_id = NULL, @originator = publishingservername(), @originator_db = db_name() -- Security Check exec @retcode = sys.sp_MSreplcheck_publish if @@error <> 0 or @retcode <> 0 begin return 1 end -- this procedure can not be executed in a user -- transaction because it needs to be in its own tran -- space (it can not be mixed with replicated cmds). -- -- we use this tmp table insert to force any implicit -- transaction (user may set IMPLICIT_TRANSACTIONs on) declare @check_tran table(col1 int) insert into @check_tran(col1) values (1) if @@trancount > 0 begin -- The procedure 'sp_requestpeerresponse' cannot be executed within a transaction. raiserror(15002, 16, -1, 'sp_requestpeerresponse') return 1 end -- check this db is published if sys.fn_MSrepl_istranpublished(db_name(),0) <> 1 begin -- The database is not published. raiserror (18757, 16, -1) return 1 end -- check publication name if @publication is null begin -- The parameter @publication cannot be NULL. raiserror (14043, 16, -1, @publication, 'sp_requestpeerresponse') return 1 end -- validate publication setting if not exists(select * from syspublications where (options & @OPT_ENABLED_FOR_P2P) = @OPT_ENABLED_FOR_P2P and name = @publication) begin -- The Peer-To-Peer publication ''%s'' does not exist. raiserror (20808, 16, -1, @publication) return 1 end -- if there are no matching peer subscriptions -- we will just raise an error and exit out... if not exists(select * from MSpeer_lsns where (originator != UPPER(@originator) or originator_db != @originator_db) and originator_publication = @publication) begin -- No Peers were found for @originator:@originator_db:@publication. raiserror(20807, 16, -1, @originator, @originator_db, @publication) return 1 end begin transaction tr_sp_requestpeerresponse save transaction tr_sp_requestpeerresponse insert into MSpeer_request ( publication, description ) values ( @publication, @description ) if @@error <> 0 begin -- The procedure sys.sp_requestpeerresponse failed to INSERT into the resource MSpeer_request. Server error = 0. raiserror (21499, 16, -1, 'sys.sp_requestpeerresponse', 'INSERT into', 'MSpeer_request.', @@error) goto FAILURE end select @request_id = scope_identity() insert into MSpeer_response ( request_id, peer, peer_db ) select distinct @request_id, UPPER(originator), originator_db from MSpeer_lsns where (originator != UPPER(@originator) or originator_db != @originator_db) and originator_publication = @publication if @@error <> 0 begin -- The procedure sys.sp_requestpeerresponse failed to INSERT into the resource MSpeer_response. Server error = 0. raiserror (21499, 16, -1, 'sys.sp_requestpeerresponse', 'INSERT into', 'MSpeer_response.', @@error) goto FAILURE end select @cmd = N'exec sys.sp_MSpeersendresponse @request_id=' + cast(@request_id as nvarchar) + N',@originator=N' + quotename(@originator, '''') + N',@originator_db=N' + quotename(@originator_db, '''') + N',@originator_publication=N' + quotename(@publication, '''') exec @retcode = sys.sp_MSpeertopeerfwdingexec @command = @cmd, @publication = @publication, @execute = 0, @change_results_originator = 1 if @@error <> 0 or @retcode <> 0 goto FAILURE commit transaction tr_sp_requestpeerresponse return 0 FAILURE: rollback transaction tr_sp_requestpeerresponse commit transaction return 1 end
No comments:
Post a Comment