Linked Server is a mechanism that allows to call procedure on defferent server\instance like they locate on the same instance that call them.
To create Linked Server, you can use the ssms and define, Graphically, the Linked Server.
One of the problem, in that operation, is to define alias for the Linked Server. The solution is to define the Sql Server Linked Server by script and to define the parameters of the sp_addlinkedserver like that:
EXEC master.dbo.sp_addServerAlias @server = N'ServerAlias', @srvproduct=N'ServerAlias', @provider=N'SQLNCLI', @datasrc=N'ServerName', @provstr=N'sp_addServerAlias @server= ''ServerName'' ,@provider=''SQLNCLI'' ,@srvproduct = ''SQL Server'''
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ServerAlias',@useself=N'False',@locallogin=NULL,@rmtuser=N'UserLoginInRemoteServer', @rmtpassword='UserPasswordInRemoteServer'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ServerAlias', @optname=N'use remote collation', @optvalue=N'true'
GO