У меня есть локальная база данных SQL 2000. Приложение My Winform неожиданно умерла, когда пыталась выполнить все сохраненное proc, которое не изменилось. Вот сообщение об ошибке:Сервер не смог загрузить ошибку DCOM
Сервер: Msg 7404, уровень 16, состояние 2, процедура RecordCurrentUser2, строка 45 Сервер не смог загрузить DCOM.
Затем я заметил, что когда я пытаюсь изменить SP с помощью Query Analyzer, я бы получил ту же ошибку, когда пытался выполнить команду ALTER. Я урезана хранимая процедура, в результате чего основного кода, который вызывает ошибку при выполнении:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER PROCEDURE dbo.RecordCurrentUser2
(
@xmlUser varchar(8000)
)
AS
BEGIN
DECLARE @Now datetime
DECLARE @ChangedRecordCount int
--Normally this is commented out, but for testing, we'll hard code a param value:
SET @xmlUser = '<User>
<User>
<EmailId>[email protected]</EmailId>
<LastName>Chad</LastName>
<FirstName>Smith</FirstName>
<Initials />
<DomainName>NA</DomainName>
<Account>SMITH</Account>
<TelephoneNumber>179-1458</TelephoneNumber>
<PeoplesoftId>031X45</PeoplesoftId>
<Department>Order to Collect BI Reporting</Department>
<StreetAddress>58 Hill Road</StreetAddress>
<PostalCode>06333</PostalCode>
<Location>MAIN</Location>
<State>AK</State>
<Country>United States</Country>
</User>
</User>'
DECLARE @DocHandle int
SET @Now = GETUTCDATE()
-- Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @DocHandle OUTPUT, @xmlUser
--Put the contents of the XML string into a temp table
SELECT
EmailId
,LastName
,FirstName
,Initials As Initials
,DomainName
,Account
,TelephoneNumber
,PeoplesoftId
,Department
,StreetAddress
,PostalCode
,Location
,State
,Country
,OtherTelephone
,NonUnisysDomainName
,NonUnisysAccount
INTO
#TempItems
FROM
OPENXML (@DocHandle, '/User/User', 2)
WITH
(
EmailId nvarchar(80)
,LastName nvarchar(50)
,FirstName nvarchar(50)
,Initials nvarchar(30)
,DomainName nvarchar(10)
,Account nvarchar(10)
,TelephoneNumber nvarchar(50)
,PeoplesoftId nvarchar(50)
,Department nvarchar(50)
,StreetAddress nvarchar(50)
,PostalCode nvarchar(50)
,Location nvarchar(80)
,State char(2)
,Country nvarchar(30)
,OtherTelephone nvarchar(50)
,NonUnisysDomainName nvarchar(10)
,NonUnisysAccount nvarchar(10)
)
END
Следующая служба работает в моей машине, хотя они могут быть не актуальны: Координатор распределенных транзакций (записной Забегая local db) COM ++
Я не намеренно устанавливал что-либо недавно, хотя я напоминаю, что MS-patch автоматически применяется политикой компании, не уверен, что это было или как узнать.
Как устранить эту ошибку?
После прочтения об ошибке SQL 7404 выглядит как сервер SQL имеет проблемы с файловой операции в некотором внутреннем кэше. Извините, если мой комментарий слишком широк и не помогает. – 2009-12-01 03:40:27