次の方法で共有


sp_ivindexhasnullcols (Transact-SQL)

インデックス付きビューを使ってトランザクション パブリケーションを作成する場合に、インデックス付きビューのクラスタ化インデックスが一意であることと、NULL 値が許容される列を含まないことを検証します。このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_ivindexhasnullcols [ @viewname = ] 'view_name'
        , [ @fhasnullcols= ] field_has_null_columns OUTPUT

引数

  • [ @viewname= ] 'view_name'
    検証するビューの名前を指定します。view_name のデータ型は sysname で、既定値はありません。

  • [ @fhasnullcols= ] field_has_null_columns OUTPUT
    NULL が許容される列がビュー インデックスにあるかどうかを示すフラグです。view_name のデータ型は sysname で、既定値はありません。NULL が許容される列がビュー インデックスにある場合は、値 1 が返されます。NULL が許容される列がビューにない場合は、値 0 が返されます。

    注意

    ストアド プロシージャ自体から、ストアド プロシージャの実行失敗を表す 1 の戻りコードが返される場合、この値は 0 になるので無視してください。

戻り値

0 (成功) または 1 (失敗)

説明

sp_ivindexhasnullcols は、トランザクション レプリケーションで使用します。

既定では、サブスクライバ側でパブリケーション内のインデックス付きビュー アーティクルはテーブルとして作成されます。ただし、インデックス列で NULL 値が許容される場合、サブスクライバ側でインデックス付きビューはテーブルではなくインデックス付きビューとして作成されます。このストアド プロシージャを実行することによって、現在のインデックス付きビューにこの問題があるかどうかをユーザーに知らせることができます。

権限

sp_ivindexhasnullcols を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバだけです。