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_addremotelogin(nvarchar @remoteserver, nvarchar @loginame
, nvarchar @remotename)
MetaData:
create procedure sys.sp_addremotelogin
@remoteserver sysname, -- name of remote server
@loginame sysname = NULL, -- user's local user name
@remotename sysname = NULL -- user's remote name
as
declare @localid int
-- DISALLOW USER XACT --
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,'sys.sp_addremotelogin')
return (1)
end
-- CHECK PERMISSIONS
if not (has_perms_by_name(null, null, 'alter any login') = 1)
begin
EXEC %%System().AuditEvent(ID = 1380142162, Success = 0, TargetLoginName = @loginame, TargetUserName = NULL, Role = NULL, Object = @remotename, Provider = NULL, Server = @remoteserver)
raiserror(15247,-1,-1)
return (1)
end
else
EXEC %%System().AuditEvent(ID = 1380142162, Success = 1, TargetLoginName = @loginame, TargetUserName = NULL, Role = NULL, Object = @remotename, Provider = NULL, Server = @remoteserver)
-- CHECK FOR INVALID PARAMETER SYNTAX --
if @remoteserver is null OR (@loginame is null and @remotename is not null)
begin
raiserror(15600,-1,-1,'sys.sp_addremotelogin')
return (1)
end
BEGIN TRAN
-- VALIDATE/LOCK SERVER NAME --
EXEC %%LinkedServer ( Name = @remoteserver ) . Lock ( Exclusive = 1 )
IF @@ERROR <> 0
begin
ROLLBACK TRAN
raiserror(15015,-1,-1,@remoteserver)
return (1)
end
-- VALIDATE/LOCK @loginame --
select @localid = 0
if @loginame is not null
begin
-- share-lock the local login
EXEC %%LocalLogin ( Name = @loginame ) . Lock ( Exclusive = 0 )
IF @@ERROR = 0
select @localid = principal_id from sys.server_principals
where name = @loginame and type = 'S' -- cannot map to NT login
if @localid = 0
begin
ROLLBACK TRAN
raiserror(15007,-1,-1,@loginame)
return (1)
end
end
-- ADD NEW REMOTE-LOGIN (WILL CHECK FOR DUPLICATE <@remoteserver, @remotename> PAIR)
EXEC %%LinkedServer(Name=@remoteserver).NewRemoteLogin( RemoteName = @remotename, LocalID = @localid )
IF @@ERROR <> 0
begin
ROLLBACK TRAN
if @remotename is null
raiserror(15066,-1,-1,@remoteserver)
else
raiserror(15068,-1,-1,@remotename,@remoteserver)
return (1)
end
-- SUCCESS --
COMMIT TRAN
return (0) -- sp_addremotelogin
No comments:
Post a Comment