Share via


SubscriptionConditionScheduledRule.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 です。

解説

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

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

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

使用例

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

// Add a rule to generate condition-based, scheduled notifications
SubscriptionConditionScheduledRule flightConditionScheduledRule = 
    new SubscriptionConditionScheduledRule(
    flightSubscriptions, "FlightConditionScheduledRule");
flightConditionScheduledRule.ActionTimeout = 
    new TimeSpan(0, 2, 0);
flightConditionScheduledRule.SqlLoginName = "MyLowPrivLogin";
flightConditionScheduledRule.SqlUserName = "MyLowPrivUser";
flightConditionScheduledRule.InputTypeName = "FlightEventChronicle";
flightConditionScheduledRule.InputTypeSchema = "MyAppSchema";
flightConditionScheduledRule.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.FlightConditionScheduledRule;";
flightSubscriptions.SubscriptionConditionScheduledRules.Add(
    flightConditionScheduledRule);
' Add a rule to generate condition-based, scheduled notifications
Dim flightConditionScheduledRule As _
    SubscriptionConditionScheduledRule = _
    New SubscriptionConditionScheduledRule( _
    flightSubscriptions, "FlightConditionScheduledRule")
flightConditionScheduledRule.ActionTimeout = _
    New TimeSpan(0, 2, 0)
flightConditionScheduledRule.SqlLoginName = "MyLowPrivLogin"
flightConditionScheduledRule.SqlUserName = "MyLowPrivUser"
flightConditionScheduledRule.InputTypeName = _
    "FlightEventChronicle"
flightConditionScheduledRule.InputTypeSchema = "MyAppSchema"
flightConditionScheduledRule.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.FlightConditionScheduledRule;"
flightSubscriptions.SubscriptionConditionScheduledRules.Add( _
    flightConditionScheduledRule)

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

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

対象プラットフォーム

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

参照

関連項目

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

その他の技術情報

定期的なルールの定義
条件アクションの定義
ScheduledRule 要素 (ADF)
ConditionAction 要素 (ADF)