1

外部ファイルにアクセスするには、SQLCLR 関数を記述する必要があります。trustworthy on私は自分のデータベースに与えることでそれを行いました。を与えずに外部リソースにアクセスする他の方法はありますtrustworthy onか? SQLCLR 実装のための信頼できるデータベースに関連するリスクはありますか?

4

2 に答える 2

3

リスクはありますが、データベースに存在するすべてのコードを制御できれば、リスクは小さくなります。アセンブリに external_access または unsafe 権限を使用している場合は、trustworthy を on に設定する必要があります。そうしないと、SQL サーバーは文字通りコードを信頼せず、インスタンスの外に出させません。

これは、信頼できるフラグを設定するためのいくつかのガイドラインを詳述している Microsoft からのリンクです。

SQL Server で TRUSTWORTHY データベース設定を使用するためのガイドライン

于 2013-03-08T13:39:26.977 に答える
2

TRUSTWORTHY ON外部リソースにアクセスするためにデータベースを回避するには、次の手順に従います。

USE MASTER;
CREATE ASYMMETRIC KEY '<youKeyName>' FROM EXECUTABLE FILE = '<Your dll file path>';
CREATE LOGIN '<yourUserName>' FROM ASYMMETRIC KEY '<yourKeyName>';
GRANT EXTERNAL ACCESS ASSEMBLY TO '<yourUserName>';
USE '<YOUR DB NAME>';
CREATE ASSEMBLY '<Assembly name>' FROM '<Your dll file path>'
    WITH PERMISSION_SET = EXTERNAL_ACCESS;

これを試して :)-

于 2013-03-11T08:41:41.393 に答える