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_addlinkedserver(nvarchar @server, nvarchar @srvproduct
, nvarchar @provider
, nvarchar @datasrc
, nvarchar @location
, nvarchar @provstr
, nvarchar @catalog)
MetaData:
create procedure sys.sp_addlinkedserver @server sysname, -- server name @srvproduct nvarchar(128) = NULL, -- product name (dflt to ss) @provider nvarchar(128) = NULL, -- oledb provider name @datasrc nvarchar(4000) = NULL, -- oledb datasource property @location nvarchar(4000) = NULL, -- oledb location property @provstr nvarchar(4000) = NULL, -- oledb provider-string property @catalog sysname = NULL -- oledb catalog property as -- VARIABLES declare @retcode int, @srvproduct2 nvarchar(128) set @srvproduct2 = @srvproduct -- VALIDATE OLEDB PARAMETERS if @provider is null begin -- NO PROVIDER MEANS CANNOT SPECIFY ANY PROPERTIES! if @datasrc is not null or @location is not null or @provstr is not null or @catalog is not null begin raiserror(15426,-1,-1) return (1) end -- THIS MUST BE A WELL-KNOWN "SQL Server" TYPE (DEFAULT IS SS) if @srvproduct IS NOT null AND lower(@srvproduct) <> N'sql server' begin raiserror(15427,-1,-1,@srvproduct) return (1) end -- USE ALL-NULLS FOR SQL-SERVER PROVIDER select @srvproduct = NULL end else if @srvproduct in (N'SQL Server') -- WELL-KNOWN PRODUCT begin -- ILLEGAL TO SPECIFY PROVIDER/PROPERTIES FOR SQL Server PRODUCT raiserror(15428,-1,-1,@srvproduct) return (1) end else if @srvproduct is null or lower(@srvproduct) like N'%sql server%' begin raiserror(15429,-1,-1,@srvproduct) return (1) end -- DISALLOW USER TRANSACTION set implicit_transactions off if @@trancount > 0 begin raiserror(15002,-1,-1,'sys.sp_addlinkedserver') return (1) end BEGIN TRANSACTION -- ADD THE LINKED-SERVER EXEC @retcode = sys.sp_MSaddserver_internal @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog, 1, 0 -- @linkedstyle, @localentry if( @retcode = 0 ) begin -- EMDEventType(x_eet_Create_Linked_Server), EMDUniversalClass(x_eunc_Server), src major id, src minor id, src name -- -1 means ignore target stuff, target major id, target minor id, target name, -- # of parameters, 5 parameters -- Note: we do not pass @provstr since it can contain passwords EXEC %%System().FireTrigger(ID = 225, ID = 102, ID = 0, ID = 0, Value = @server, ID = -1, ID = 0, ID = 0, Value = NULL, ID = 7, Value = @server, Value = @srvproduct2, Value = @provider, Value = @datasrc, Value = @location, Value = NULL, Value = @catalog) COMMIT TRANSACTION -- SUCCESS return (0) -- sp_addlinkedserver end else if( @retcode = 2 ) begin ROLLBACK raiserror(15028,-1,-1,@server); return (1) end else begin ROLLBACK return (1) end
No comments:
Post a Comment