I have a process on every server that collects meta data into a local database table and on one server I have a view that selects data across all of those tables so that I can compare/review results, it uses linked server objects. I am moving from 2005 to 2008 and am in the process of moving this view. For this example we have two hardware servers Alpha and Beta. Alpha has two SQL 2005 instances (Wolf and Bear), Beta has one SQL 2005 instance (Snake) and the new 2008 instance (Monkey). The view on Snake works fine but I cannot create it on Monkey. The CREATE script errors with
OLE DB provider "SQLNCLI" for linked server "Alpha\Bear" returned message "The partner transaction manager has disabled its support for remote/network transactions.". Msg 7391, Level 16, State 2, Procedure cx_uvw_DatabaseSize_AllServers, Line 21 The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "Alpha\Bear" was unable to begin a distributed transaction.
The script I am trying to run is
CREATE VIEW uv_DatabaseSizes
AS
SELECT 'Beta\Monkey' AS [server],
ud.UsID,
ud.Dbname,
ud.SizeDb,
ud.UnlockDB,
ud.ScanDate,
d.state_desc AS [StatusDesc]
FROM [Beta\Monkey].CentralDB.SQLServerStats.USED_DISK AS ud
INNER JOIN sys.databases AS d ON REPLACE(REPLACE(ud.Dbname, ']', ''),
'[', '') COLLATE SQL_Latin1_General_CP1_CI_AS = [d].[name]
UNION
SELECT 'Beta\Snake' AS [server],
ud.UsID,
ud.Dbname,
ud.SizeDb,
ud.UnlockDB,
ud.ScanDate,
d.state_desc AS [StatusDesc]
FROM [Beta\Snake].CentralDB.SQLServerStats.USED_DISK AS ud
INNER JOIN [Beta\Snake].centraldb.sys.databases AS d ON REPLACE(REPLACE(ud.Dbname, ']', ''),
'[', '') COLLATE SQL_Latin1_General_CP1_CI_AS = [d].[name]
UNION
SELECT 'Alpha\Bear',
ud.UsID,
ud.Dbname,
ud.SizeDb,
ud.UnlockDB,
ud.ScanDate,
d.state_desc
FROM [Alpha\Bear].[CentralDB].[SQLServerStats].[USED_DISK] AS ud
INNER JOIN [Alpha\Bear].centraldb.sys.databases AS d ON REPLACE(REPLACE(ud.Dbname, ']', ''), '[', '') = [d].[name]
GO
The linked server objects to Alpha\Bear are identical on Beta\Snake and Beta\Monkey
The odd things are:
- The individual SELECT in the view that references Alpha\Bear works with no issues when executed in isolation, outside the view
- There is no issue connecting to the 2005 instance on the same hardware (Beta) - Removing Alpha\Bear from the above view script allows it to be created and it works fine
Does anyone have any ideas what I am missing please, is there a 2008 setting that I need to configure?