Sto scrivendo uno script che dovrebbe girare intorno a un gruppo di server e selezionare un sacco di dati da loro, incluso il server locale. L'SQL necessario per SELEZIONARE i dati di cui ho bisogno è piuttosto complicato, quindi sto scrivendo una sorta di vista ad hoc e usando un'istruzione OPENQUERY per ottenere i dati, così alla fine finirò il ciclo su una dichiarazione come questa:Perché utilizzare OPENQUERY su un server locale è negativo?
exec('INSERT INTO tabl SELECT * FROM OPENQUERY(@Server, @AdHocView)')
Tuttavia, ho sentito che l'utilizzo di OPENQUERY sul server locale è disapprovato. Qualcuno potrebbe spiegare perché?
Questo è uno script adminstirativo, quindi non sono preoccupato per le autorizzazioni. La mia domanda, in particolare, è che ci sono preoccupazioni quando lo script scorre su un elenco di server e viene eseguito nel proprio nome server? Questo di solito genera un errore, server non configurato per l'accesso ai dati, che può essere corretto da EXEC sp_serveroption 'LocalServer', 'DATA ACCESS', TRUE – Dlongnecker
controllare [server collegati] (http://msdn.microsoft.com/it/ us/library/ms188279.aspx) – Andrey