2012-03-01 1 views
0

同じSQL Serverインスタンスに2つのテーブルCrossDBTrigTest_1CrossDBTrigTest_2があります。SQL Serverのクロスデータベーストリガー

データベースには、Employeeというテーブルがあります。

私はEmployeeテーブルCrossDBTrigTest_1 dbで次のトリガーを書いた:

Create Trigger [dbo].[CrossDBInsert] on [dbo].[employee] after insert 
AS 
Begin 
    Set nocount on 

    Insert into CrossDBTrigTest_2.employee(FirstName, LastName, Date) 
    SELECT inserted.FirstName, inserted.LastName, getdate() 
    FROM inserted 
End 

しかしInsert文はメッセージで失敗します。

メッセージ208、レベル16、状態1、プロシージャCrossDBInsert、5行目
オブジェクト名 'CrossDBTrigTest_2.employee'が無効です。

このような状況でデータベース間トリガーを有効にするにはどうすればよいですか?

答えて

2

テーブル名として使用

CrossDBTrigTest_2..employee 

。 1つではなく2つの点に注意してください。

6

CrossDBTrigTest_2.employee(FirstName,LastName,Date) 

CrossDBTrigTest_2.dbo.employee(FirstName,LastName,Date) 

すべきではありません?