May 14, 2012

sp_MSget_max_used_identity (Transact-SQL MetaData) Definition

Please note: that the following source code is provided and copyrighted by Microsoft and is for educational purpose only.
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_MSget_max_used_identity(nvarchar @publisher
, nvarchar @publisher_db
, nvarchar @publication
, nvarchar @article)

MetaData:

 create procedure sys.sp_MSget_max_used_identity  
(
@publisher sysname,
@publisher_db sysname,
@publication sysname,
@article sysname,
@max_used numeric(38,0) output
)
as
set nocount on

declare @retcode tinyint
declare @publisher_id int

--
-- security check
-- only db_owner can execute this
--
if (is_member ('db_owner') != 1)
begin
raiserror(14260, 16, -1)
return (1)
end

-- Has to be executed from distribution database
if sys.fn_MSrepl_isdistdb (db_name()) != 1
begin
raiserror (21482, 16, -1, 'sp_MSget_max_used_identity', 'distribution')
return 1
end

select @publisher_id = srvid
from master..sysservers
where upper(srvname) = upper(@publisher)
if @publisher_id is NULL
begin
-- Publisher @publisher does not exist.
raiserror(21618, 16, -1, @publisher)
return 1
end

select top 1 @max_used = max_used from dbo.MSmerge_identity_range_allocations
where publisher_id = @publisher_id and
publisher_db = @publisher_db and
publication = @publication and
article = @article
order by time_of_allocation desc
if @@error<>0
return 1

return 0

No comments:

Post a Comment

Total Pageviews