次の方法で共有


SubscriptionConditionEventRule.SqlLoginName Property

SqlExpression プロパティで指定されたステートメントを実行するデータベース ユーザーを作成するために Notification Services が使用する Microsoft SQL Server ログイン アカウントを取得または設定します。

名前空間: Microsoft.SqlServer.Management.Nmo
アセンブリ: Microsoft.SqlServer.Smo (microsoft.sqlserver.smo.dll 内)

構文

'宣言
Public Property SqlLoginName As String
public string SqlLoginName { get; set; }
public:
property String^ SqlLoginName {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_SqlLoginName ()

/** @property */
public void set_SqlLoginName (String value)
public function get SqlLoginName () : String

public function set SqlLoginName (value : String)

プロパティ値

SQL Server ログインの名前を示す String です。

解説

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

SqlUserName プロパティを使用してデータベース ユーザーを指定します。SqlLoginName プロパティを使用してユーザーに関連付けられたログイン アカウントを指定します。ログインは、Notification Services がアプリケーションを作成する前に存在する必要があります。ログインが存在しない場合、Notification Services はアプリケーションを作成できず、インスタンス作成またはインスタンス更新をロールバックします。アプリケーションが配置されている間は、ログインの存在が維持されるようにしてください。

ログインは、Windows 認証ログインまたは SQL Server 認証ログインのどちらかになります。ログインは、ルールのロジックを実行するためにデータベース エンジン インスタンス内で使用されます。

使用例

次の例は、条件ベースのイベント ドリブン サブスクリプション ルールを定義してサブスクリプション クラスに追加する方法を示しています。

// Add a rule to generate condition-based, event notifications
SubscriptionConditionEventRule flightConditionEventRule = 
    new SubscriptionConditionEventRule(
    flightSubscriptions, "FlightConditionEventRule");
flightConditionEventRule.EventClassName = "FlightEvents";
flightConditionEventRule.ActionTimeout = new TimeSpan(0, 2, 0);
flightConditionEventRule.SqlLoginName = "MyLowPrivLogin";
flightConditionEventRule.SqlUserName = "MyLowPrivUser";
flightConditionEventRule.InputTypeName = "FlightEvents";
flightConditionEventRule.InputTypeSchema = "MyAppSchema";
flightConditionEventRule.SqlExpression =
    "INSERT INTO MyAppSchema.FlightNotifications (SubscriberId, " +
    "DeviceName, SubscriberLocale, LeavingFrom, GoingTo, Price) " +
    "SELECT [Subscription.SubscriberId], [Subscription.DeviceName], " +
    "[Subscription.SubscriberLocale], " +
    "[Input.LeavingFrom], [Input.GoingTo], [Input.Price] " +
    "FROM MyAppSchema.FlightConditionEventRule;";
flightSubscriptions.SubscriptionConditionEventRules.Add(
    flightConditionEventRule);
' Add a rule to generate condition-based, event notifications
Dim flightConditionEventRule As _
    SubscriptionConditionEventRule = _
    New SubscriptionConditionEventRule( _
    flightSubscriptions, "FlightConditionEventRule")
flightConditionEventRule.EventClassName = "FlightEvents"
flightConditionEventRule.ActionTimeout = New TimeSpan(0, 2, 0)
flightConditionEventRule.SqlLoginName = "MyLowPrivLogin"
flightConditionEventRule.SqlUserName = "MyLowPrivUser"
flightConditionEventRule.InputTypeName = "FlightEvents"
flightConditionEventRule.InputTypeSchema = "MyAppSchema"
flightConditionEventRule.SqlExpression = _
 "INSERT INTO MyAppSchema.FlightNotifications " + _
 "(SubscriberId, DeviceName, SubscriberLocale, LeavingFrom, " + _
 "GoingTo, Price) SELECT [Subscription.SubscriberId], " + _
 "[Subscription.DeviceName], [Subscription.SubscriberLocale], " + _
 "[Input.LeavingFrom], [Input.GoingTo], [Input.Price] " + _
 "FROM MyAppSchema.FlightConditionEventRule;"
flightSubscriptions.SubscriptionConditionEventRules.Add( _
    flightConditionEventRule)

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

SubscriptionConditionEventRule Class
SubscriptionConditionEventRule Members
Microsoft.SqlServer.Management.Nmo Namespace

その他の技術情報

SqlLogin 要素 (ADF)
イベント ルールの定義
条件アクションの定義
EventRule 要素 (ADF)
ConditionAction 要素 (ADF)