When I try to access a SQL Server 2000 named instance from a linked-server interface on a SQL Server 7.0 machine, SQL Server 7.0 reports Specified SQL Server not found. How can I access the named instance?
Named instances didn't exist when Microsoft released SQL Server 7.0; the company added them in SQL Server 2000. Therefore, the SQL Server 7.0 versions of Microsoft Data Access Components (MDAC) don't know what a named instance is. Your SQL Server 7.0 machine can't find the named instance because it's looking for a server and instance called MySQLMachine\MySQLInstance (or whatever your server and instance names are), which don't exist. Fortunately, you can easily work around this problem by adding an alias for the SQL Server 2000 named instance, using the Client Network Utility from the SQL Server 7.0 server. SQL Server Books Online (BOL) documents this utility well, so I won't walk you through the steps of setting up the alias. The client-side alias will let you map a name such as MyLinkedServer to the real name of the named instance on the SQL Server 2000 machine. Alternatively, you could reference the server by using the server name and TCP/IP port that the instance is running on--such as MySQLMachine,1433.