If you get the below error when trying to create a linked server from a 2005 64 bit instance to a 2000 32 bit instance, you can try the follwoing steps to correct:
One of the causes of this error is a missing stored procedure that the 64 bit instance is looking for.
- Execute Instcat.sql on the 2000 instance, which is part of the latest SQL Server 2000 SP 4
- Change your linked server syntax from servername.db.schema.table to SELECT * FROM OPENQUERY(servername, "...")
OLE DB provider "SQLNCLI" for linked server "servername" returned message "Unspecified error".
OLE DB provider "SQLNCLI" for linked server "servername" returned message "The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.".
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server "servername". The provider supports the interface, but returns a failure code when it is used.