次の方法で共有


sp_grant_proxy_to_subsystem (Transact-SQL)

適用対象: SQL Server

サブシステムに対するアクセス権をプロキシに与えます。

Transact-SQL 構文表記規則

構文

sp_grant_proxy_to_subsystem
    [ [ @proxy_id = ] proxy_id ]
    [ , [ @proxy_name = ] N'proxy_name' ]
    [ , [ @subsystem_id = ] subsystem_id ]
    [ , [ @subsystem_name = ] N'subsystem_name' ]
[ ; ]

引数

[ @proxy_id = ] proxy_id

アクセス権を付与するプロキシのプロキシ ID 番号。 @proxy_idint で、既定値は NULL です。

@proxy_idまたは@proxy_nameを指定する必要がありますが、両方を指定することはできません。

[ @proxy_name = ] N'proxy_name'

アクセス権を付与するプロキシの名前。 @proxy_namesysname で、既定値は NULL です。

@proxy_idまたは@proxy_nameを指定する必要がありますが、両方を指定することはできません。

[ @subsystem_id = ] subsystem_id

アクセス権を付与するサブシステムの ID 番号。 @subsystem_idint で、既定値は NULL です。

@subsystem_idまたは@subsystem_nameを指定する必要がありますが、両方を指定することはできません。

次の表に、各サブシステムの値を示します。

Value 説明
2 ActiveX スクリプト 1
3 オペレーティング システム (CmdExec)
4 Replication Snapshot Agent
5 レプリケーション ログ リーダー エージェント
6 Replication Distribution Agent
7 Replication Merge Agent
8 レプリケーション キュー リーダー エージェント
9 Analysis Services クエリ
10 Analysis Services コマンド
11 SSIS パッケージ実行
12 PowerShell スクリプト

1 この機能は、今後のバージョンの SQL Server で削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

[ @subsystem_name = ] N'subsystem_name'

アクセス権の対象となるサブシステムの名前を指定します。 @subsystem_namesysname で、既定値は NULL です。

@subsystem_idまたは@subsystem_nameを指定する必要がありますが、両方を指定することはできません。

次の表に、各サブシステムの値を示します。

Value 説明
ActiveScripting ActiveX スクリプト
CmdExec オペレーティング システム (CmdExec)
Snapshot Replication Snapshot Agent
LogReader レプリケーション ログ リーダー エージェント
Distribution Replication Distribution Agent
Merge Replication Merge Agent
QueueReader レプリケーション キュー リーダー エージェント
ANALYSISQUERY Analysis Services クエリ
ANALYSISCOMMAND Analysis Services コマンド
Dts SSIS パッケージ実行
PowerShell PowerShell スクリプト

解説

サブシステムへのプロキシ アクセスを許可しても、プロキシで指定されたプリンシパルのアクセス許可は変更されません。

アクセス許可

このストアド プロシージャは、 db_owner ロールによって所有されています。 EXECUTEアクセス許可は任意のユーザーに付与できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

A. ID を使用してサブシステムへのアクセスを許可する

次の例では、プロキシ Catalog application proxy ActiveX スクリプト サブシステムへのアクセスを許可します。

USE msdb;
GO

EXEC dbo.sp_grant_proxy_to_subsystem
    @proxy_name = 'Catalog application proxy',
    @subsystem_id = 2;
GO

B. 名前でサブシステムへのアクセスを許可する

次の例では、プロキシ Catalog application proxy SSIS パッケージ実行サブシステムへのアクセスを許可します。

USE msdb;
GO

EXEC dbo.sp_grant_proxy_to_subsystem
    @proxy_name = N'Catalog application proxy',
    @subsystem_name = N'Dts' ;
GO