Share via


SubscriptionConditionEventRule.SqlUserName Property

SqlExpression プロパティで指定されたステートメントを実行するために Notification Services が作成するデータベース ユーザーの名前を取得または設定します。

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

構文

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

/** @property */
public void set_SqlUserName (String value)
public function get SqlUserName () : String

public function set SqlUserName (value : String)

プロパティ値

Notification Services が作成するデータベース ユーザー名を示す String です。データベース ユーザー名は、通常、関連付けられたログイン名と一致しますが、一致しなくてもかまいません。

解説

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

Notification Services がユーザー アカウントを作成します。ユーザー アカウントは、アプリケーションの作成前には存在することができません。

データベース ユーザー、および SqlLoginName プロパティを使用して名付けられる、データベース ユーザーに関連付けられた Microsoft SQL Server ログインに対しては、データベースの権限を制限してください。また、アプリケーションが配置されている状態で、ユーザーおよび関連付けられた SqlLogin がサーバーまたはドメインから削除されないようにしてください。削除されると、アプリケーション エラーが発生します。

Notification Services は、Notification Services オブジェクトの必要な権限を許可しますが、入力テーブルまたはビューの権限、および条件アクションで使用するユーザー定義関数の権限は許可しません。これらの権限は、アプリケーションを配置するときにユーザーが許可する必要があります。これらの権限の許可の詳細については、「条件アクションの定義」を参照してください。

使用例

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

// 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

その他の技術情報

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