Como usar o OPENROWSET

A função OPENROWSET do T-SQL pode ser muito útil quando precisamos acessar uma informação de uma outra base de dados. Apesar do usuário DBO não ter permissão de executar a stored procedure sp_addlinkedserver, é possível informar as configurações de acesso na própria função OPENROWSET.

 A sintaxe da função é assim:  OPENROWSET ( 'provider_name'  , { 'datasource' ; 'user_id' ; 'password'   | 'provider_string' }  , { [ catalog. ] [ schema. ] object  | 'query' }   )  

No exemplo abaixo, retornamos o resultado de uma consulta feita em outra base de dados MS SQL:

 SELECT a.coluna1, a.coluna2   FROM OPENROWSET('SQLOLEDB','SERVIDOR';'LOGIN';'SENHA',   'SELECT coluna1, coluna2 FROM tabela') AS a   

Veja mais informações sobre este recurso, no Books On Line do MS SQL:
http://msdn.microsoft.com/en-us/library/ms190312%28SQL.90%29.aspx

Obs 1: Não é possível acessar um banco de dados MS Access com esta função em um servidor compartilhado, pois os clientes não tem acesso para hospedar o arquivo MDB neste mesmo servidor. Isso poderá ser feito apenas em um servidor MS SQL dedicado.

Obs 2: Acesso a servidores externos à rede da Locaweb pode gerar sobrecarga nos servidores. Caso alguma sobrecarga proveniente deste acesso venha a prejudicar o desempenho do servidor e conseqüentemente o desempenho do site de outros clientes no mesmo servidor compartilhado, desativaremos temporariamente a base de dados e entraremos em contato.

Veja também