Esecuzione di un SQL distribuita query ADSI

Traduzione articoli Traduzione articoli
Identificativo articolo: 299410 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo vengono fornite informazioni sull'utilizzo del provider OLEDB di Active Directory Services Interfaces (ADSI) da SQL Server per eseguire una query distribuita.

Informazioni

Requisiti e informazioni generali

Una query distribuita consente agli sviluppatori popolare una tabella di SQL Server o la visualizzazione dei dati in Active Directory o un altro server LDAP (Lightweight Directory Access Protocol). Per eseguire una query distribuita utilizzando ADSI, il server deve essere in esecuzione SQL Server 7.0 o versione successiva. ADSI Ŕ un componente di sistema di Windows 2000 Ŕ non necessario pertanto alcuna installazione aggiuntive in tale sistema operativo. Se il sistema operativo del server Ŕ Windows NT 4.0, Ŕ necessario Active Directory Client Extension (DSClient) per Windows NT 4.0 sia installato. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
288358Come installare Active Directory Client Extension
La procedura per eseguire una query distribuita utilizzando ADSI Ŕ reperibile in "Aggiunta di dati eterogenei" nel seguente articolo MSDN:
Unione dei dati eterogenei
http://msdn.microsoft.com/en-us/library/aa746379.aspx
Quando viene emesso il comando OPENQUERY, SQL Server richiamerÓ il provider OLEDB di ADSI, ADsDSOObject, che Ŕ stato impostato nella funzione sp_addlinkedserver . Il provider passerÓ alle funzioni di interfaccia lDirectorySearch ADSI sottostante la query. Queste funzioni ADSI renderÓ le chiamate LDAP necessarie per il server desiderato. Quindi verranno passate le risposte dal server di backup per i livelli della stessi a SQL Server.

╚ possibile utilizzare una query in sottolinguaggi LDAP o SQL. Sono disponibili ulteriori informazioni sulla ricerca con il provider OLEDB di ADSI con il seguente articolo MSDN:
Ricerca in Active Directory
http://msdn.microsoft.com/en-us/library/aa746468(VS.85).aspx
Una descrizione dei due sottolinguaggi si trova sotto il livello inferiore seguenti in MSDN:
Sottolinguaggio
http://msdn.microsoft.com/en-us/library/aa772377(VS.85).aspx
Se un asterisco (*) viene specificato per l'elenco degli attributi, il provider OLEDB di ADSI restituisce un recordset contenente il valore ADsPath di ciascuna voce. ADsPath Ŕ un lato client generato attributo ed Ŕ essere restituiti come un attributo con valore singled.

Una stringa di binding senza server Ŕ che non contiene il nome o l'indirizzo IP del server di destinazione. Binding senza server vengono utilizzati per individuare il controller di dominio Windows 2000 migliore per gestire la richiesta. Binding senza server non pu˛ essere utilizzato quando il server di destinazione non Ŕ un controller di dominio Windows 2000 per il dominio predefinito. Per ulteriori informazioni sul binding senza server, vedere
Binding senza server e RootDSE
http://msdn.microsoft.com/en-us/library/ms677945.aspx
Nell'esempio nel white paper Ŕ verrÓ contattato il server LDAP utilizzando le credenziali in cui Ŕ stata effettuata la chiamata OPENQUERY . Seconda di come l'applicazione Ŕ stata progettata, questo pu˛ o non essere auspicabile. Se viene utilizzata l'autenticazione di SQL Server anzichÚ l'autenticazione di Windows, le credenziali SQL verranno comunicate la directory. Problemi di autenticazione si verifica anche se il servizio di directory di destinazione non supporta l'autenticazione di Windows. Per ulteriori informazioni sull'utilizzo di ADSI per query di questi server LDAP, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
251195Come utilizzare ADSI per eseguire query di un server LDAP di terze parti
Se non Ŕ consigliabile contattare directory utilizzando le stesse credenziali la chiamata di funzione OPENQUERY , Ŕ possibile utilizzare un sp_addlinksrvlogin per modificare l'identitÓ con cui viene contattato un server remoto. Quando viene implementato il sp_addlinksrvlogin ADSI richiama un'associazione semplice al servizio di directory di destinazione con le informazioni specificate nei parametri di rmtuser e rmtpassword . ╚ importante tenere presente che un'associazione semplice verrÓ trasmettere le credenziali per il server di directory in testo non crittografato. Questo ha il vantaggio che verrÓ riconosciuta dal molti server di directory, ma uno svantaggio Ŕ che il nome utente e la password sarÓ visibile su un monitor di rete. Per ulteriori informazioni su semplice associa vedere:
ldap_simple_bind_s
http://msdn.microsoft.com/en-us/library/aa366995.aspx
Una volta aggiunto, pu˛ essere rimosso il sp_addlinksrvlogin mediante la chiamata di procedura sp_droplinkedsrvlogin .

Limitazioni

Il processo di utilizzo dell'istruzione di OPENQUERY le informazioni da un server LDAP Ŕ interessata da alcune limitazioni. Le limitazioni possono essere pericoli in alcuni casi, ma in altri progettazione dell'applicazione deve essere modificata. Un'applicazione esterna o di un oggetto COM che utilizza ADSI per recuperare le informazioni dal server LDAP e quindi crea una tabella in SQL utilizzando ADO o altri metodi di accesso ai dati Ŕ un altro metodo valido.

La prima limitazione Ŕ che le proprietÓ multivalore non possono essere restituite il set di risultati a SQL Server. ADSI legge le informazioni dello schema dal server LDAP che definisce la struttura e la sintassi di classi e gli attributi utilizzati dal server. L'attributo che viene richiesta dal server LDAP Ŕ definito nello schema come multivalore non pu˛ essere restituito in un'istruzione OPENQUERY.

╚ comune a un server directory per imporre un limite server il numero di oggetti che verrÓ restituito per una determinata query. Si tratta di impedire attacchi di tipo denial of service e l'overload di rete. Per eseguire correttamente una query il server di elenchi in linea, query di grandi dimensioni deve essere suddiviso in pi¨ piccole. Per effettuare questa operazione Ŕ tramite un processo denominato paging. Paging non Ŕ disponibile tramite il provider OLEDB di ADSI, non Ŕ attualmente alcun modo disponibile per l'esecuzione di una query distribuita di SQL. Ci˛ significa che il numero totale di oggetti che pu˛ essere restituito per una query Ŕ il limite del server. In Windows 2000 Active Directory, il limite di server di impostazione predefinita Ŕ 1.000 oggetti. Ulteriori informazioni sul paging sono reperibile nell'argomento di MSDN riportato di seguito:
Paging con IDirectorySearch
http://msdn.microsoft.com/en-us/library/aa746414(VS.85).aspx
Per ulteriori informazioni su come modificare il limite di server per maxPageSize utilizzando NTDSUtil, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
315071Come visualizzare e impostare criteri LDAP in Active Directory by using Ntdsutil.exe

Riferimenti

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
187529Come utilizzare ADO per accedere a oggetti tramite un provider LDAP ADSI
Ulteriori informazioni, incluso un esempio sono reperibile nella sezione ADSI di Platform SDK, ulteriori informazioni sulle reperibili il seguente sito Web Microsoft:
http://www.microsoft.com/downloads/details.aspx?FamilyId=149187AC-7008-4F49-A00A-26DCEBE0FC32&displaylang=en

Il collegamento sopra riportato contiene inoltre informazioni su come ottenere il download per vari SDK di Windows in fondo nella pagina sotto il sectiont intitolato: "Quali altri download sono corso".

ProprietÓ

Identificativo articolo: 299410 - Ultima modifica: martedý 11 aprile 2006 - Revisione: 5.5
Le informazioni in questo articolo si applicano a:
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Active Directory Service Interfaces 2.5
Chiavi:á
kbmt kbdswadsi2003swept kbinfo KB299410 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 299410
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com