Condividi tramite


Eliminazione di un indice di SQL Server

Il provider OLE DB di SQL Server Native Client espone la funzione IIndexDefinition::DropIndex. Tale funzione consente ai consumer di rimuovere un indice da una tabella di SQL Server.

Il provider OLE DB di SQL Server Native Client espone alcuni vincoli PRIMARY KEY e UNIQUE di SQL Server come indici. Il proprietario della tabella, il proprietario del database e alcuni membri del ruolo amministrativo possono modificare una tabella di SQL Server, eliminando un vincolo. Per impostazione predefinita, solo il proprietario della tabella può eliminare un indice. L'esito positivo o negativo di DropIndex, pertanto, dipende non solo dai diritti di accesso dell'utente dell'applicazione, ma anche dal tipo di indice indicato.

I consumer specificano il nome della tabella come stringa di caratteri Unicode nel membro pwszName dell'unione uName nel parametro pTableID. Il membro eKind di pTableID deve essere DBKIND_NAME.

I consumer specificano il nome dell'indice come stringa di caratteri Unicode nel membro pwszName dell'unione uName nel parametro pIndexID. Il membro eKind di pIndexID deve essere DBKIND_NAME. Il provider OLE DB di SQL Server Native Client non supporta la funzionalità OLE DB di eliminazione di tutti gli indici in una tabella quando pIndexID è Null. Se pIndexID è Null, viene restituito E_INVALIDARG.