次の方法で共有


SqlLogin 要素 (ADF)

条件アクション内の対応するロジックを実行するデータベース ユーザーに関連付けられた Microsoft SQL Server ログイン アカウントを指定します。

構文

<ConditionAction>
    <SqlLogin>

要素の特性

特性 説明

データ型

string

既定値

なし。

個数

ConditionAction 要素につき 1 個 (必須)。

更新

この要素は、アプリケーションの更新時に変更できます。ただし、追加と削除はできません。親の ConditionAction 要素の追加と削除は可能です。

要素の関係

関係 要素

親要素

ConditionAction 要素 (ADF)

子要素

なし。

解説

すべての条件アクションは、その条件アクションに対して指定したデータベース ユーザーのコンテキストで実行されます。権限の低いユーザーを使用すると、第三者によりサブスクリプション管理インターフェイスが侵害され、他のテーブルにアクセスしたり、他の動作を実行しようとする条件が挿入されても、セキュリティの脅威を最小限に抑えることができます。

データベース ユーザーは SqlUser 要素で指定します。そのユーザーに関連付けられたログイン アカウントは SqlLogin 要素で指定します。このログインは、Notification Services によるアプリケーションの作成前に存在している必要があります。ログインが存在しない場合、アプリケーションを作成しようとすると Notification Services でエラーが発生し、インスタンスの作成またはインスタンスの更新はロールバックされます。このログインは、アプリケーションが配置されている間は存在し続ける必要があります。

SqlLogin の値には、SQL Server 認証ログインまたは Microsoft Windows 認証ログインを指定することができます。

サーバー上でのログインの権限は必ず制限してください。ログインにはサーバー全般に対する権限は許可せず、サーバー ロールを指定しないことをお勧めします。

条件アクションの詳細については、「条件アクションの定義」を参照してください。

使用例

次の例は、条件アクションを定義する方法を示しています。Transact-SQL 式のクエリは、MyAppSchema.WeatherEventRule ビューのデータを選択します。このビューは、サブスクリプション クラスのデータと MyAppSchema.WeatherEvents イベント ビューのデータを含みます。

<ConditionAction>
    <SqlLogin>[MyLowPrivLogin]</SqlLogin>
    <SqlUser>[MyLowPrivUser]</SqlUser>
    <InputName>WeatherEvents</InputName>
    <InputSchema>MyAppSchema</InputSchema>
    <SqlExpression>
        INSERT INTO MyAppSchema.WeatherNotifications(SubscriberId, 
        DeviceName, SubscriberLocale, City, Forecast) 
        SELECT [Subscription.SubscriberId], [Subscription.DeviceName], 
            [Subscription.SubscriberLocale], [Input.City], 
            [Input.Forecast])
        FROM MyAppSchema.WeatherEventRule;
    </SqlExpression>
</ConditionAction>

参照

関連項目

SqlUser 要素 (ADF)
アプリケーション定義ファイルのリファレンス

概念

インスタンス構成ファイルのリファレンス

その他の技術情報

条件アクションの定義
サブスクリプション ルールの定義
CREATE LOGIN (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手