I am having a similar issue. If I run the following query in SQL 2005 it runs fine but gives an error in SQL 2008.
FROM OPENQUERY(ADSI, 'SELECT sAMAccountName, ipPhone, department,
displayName, homePhone, mail, mobile, company,
sn, l, telephoneNumber, givenName, title,
FROM ''LDAP://OU=xxx,DC=xxx,DC=xxx'' WHERE
objectCategory = ''Person'' AND objectClass = ''user'' ')
where company is not null
The error is -
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "ADSDSOObject" for linked server "ADSI".
It seems to error after a certain number of rows (which is different everyday). If I amend the query to include the Top N clause it runs fine. That is not a solution, searching on the internet has yielded no clues.
Any thoughts anyone.