Hello,I've got a SQL 2008 server that has a linked server object to a SQL 2000 server. I'm trying to pull the location of the last backup for a specific database. The SQL query works correctly when directly on the 2000 box, but fails when I try to run it via the linked server.The query:SELECT TOP 1 [LINKEDSERVER].msdb.dbo.backupmediafamily.physical_device_name FROM [LINKEDSERVER].msdb.dbo.backupmediafamily INNER JOIN [LINKEDSERVER].msdb.dbo.backupset ON [LINKEDSERVER].msdb.dbo.backupmediafamily.media_set_id = [LINKEDSERVER].msdb.dbo.backupset.media_set_id WHERE [LINKEDSERVER].msdb..backupset.type = 'D' AND [LINKEDSERVER].msdb.dbo.backupset.database_name = 'DBNAME' ORDER BY [LINKEDSERVER].msdb.dbo.backupset.backup_start_date DESC
The error:OLE DB provider "SQLNCLI10" for linked server "LINKEDSERVER" returned message "Unspecified error".OLE DB provider "SQLNCLI10" for linked server "LINKEDSERVER" 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 1Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "LINKEDERVER". The provider supports the interface, but returns a failure code when it is used.
If I remove the [LINKEDSERVER] and run that on the SQL 2000 box directly it works. My linkedserver is using a SQL user that has read permissions to the msdb tables. Is this a permissions issue or is the code wrong?The end goal is to insert that into a stored procedure, but I want to get the query working first.Thanks.