Suponha que precisamos trazer informações de algumas filiais.
Alguns passos como verificação do link devem ser seguidos.
Assim utilizaremos o procedimento disponível nas *consultas distribuídas, sys.sp_testlinkedserver
Aconselho firmemente a leitura do link abaixo e estude sobre o tema consultas distribuídas.
A Microsoft disponibiliza a tecnet https://technet.microsoft.com/pt-br/ então não tem desculpa.
* Consultas distribuídas ==> Consultas distribuídas acessam dados de várias fontes de dados heterogêneas
https://technet.microsoft.com/pt-br/library/ms188721(v=sql.105).aspx
Exemplo :
USE << SEU BANCO LOCAL >>
declare @TestedServerReturnValue int
SET @TestedServerReturnValue = 0
BEGIN TRY
EXEC @TestedServerReturnValue = sys.sp_testlinkedserver << FILIAL 01 >>
END TRY
BEGIN CATCH
SET @TestedServerReturnValue = @@error
END CATCH
IF @TestedServerReturnValue = 0 BEGIN
DELETE FROM ....
SET NOCOUNT ON;
INSERT INTO ....
print ' CONECTADO << FILIAL 01 >> '
END
ELSE BEGIN
print ' Could not connect << FILIAL 01 >> '
END
SET @TestedServerReturnValue = 0;
BEGIN TRY
EXEC @TestedServerReturnValue = sys.sp_testlinkedserver << FILIAL 02 >>
END TRY
BEGIN CATCH
SET @TestedServerReturnValue = @@error
END CATCH
IF @TestedServerReturnValue = 0 BEGIN
DELETE FROM ....
SET NOCOUNT ON;
INSERT INTO ....
print ' CONECTADO << FILIAL 02 >> '
END
ELSE BEGIN
print ' Could not connect << FILIAL 02 >> '
END
SET @TestedServerReturnValue = 0;