Create views for linked server

publexus
Дата: 15.01.2009 17:40:01
Такая проблемка возникла. Создаю вьюхи для таблиц из прилинкованной базы:
use man_ucp
go

set ANSI_NULLS ON
set ANSI_WARNINGS ON
go

create view ERA_GLSEG1
as
	select
		cast(substring(seg_code,1,4) as varchar(4)) KORS
	from
		IREN_ERA_5.test_DB.dbo.glseg1
go

Когда создаю одну вьюху за раз, то все работает,
но если пытаюсь создать большей одной:

use man_ucp
go

set ANSI_NULLS ON
set ANSI_WARNINGS ON
go

create view ERA_GLSEG1
as
	select
		cast(substring(seg_code,1,4) as varchar(4)) KORS
	from
		IREN_ERA_5.test_DB.dbo.glseg1
go

create view ERA_GLSEG2
as
	select
		cast(substring(seg_code,1,4) as varchar(4)) CVSS
	from
		IREN_ERA_5.test_DB.dbo.glseg2
go

то вылетает ошибка:

MSDTC on server 'ERA' is unavailable.
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d01c].
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.

Что за хрень? Разве каждый оператор DDL не должен выполняться в отдельной транзакции. И вообще, мне кажется, что не должно быть тут распределенных транзакций. Не запускать же скрипт отдельно для создания каждого представления? Что тут не так?