文書化されていないストアド プロシージャを使用する SQL Server Management Studio でアドホック クエリを実行しようとしていますxp_fileexist
。UNC パス経由でアクセスされるネットワーク共有フォルダーの下のサブフォルダーにファイルが存在するかどうかをテストしたいと考えています。
の実行コンテキストについて説明しているsqlservercentralの投稿を次に示しますxp_fileexist
。私が言えることから、必要な権限がすべて整っています。
- 共有フォルダーとそのサブフォルダーのフル コントロールを持つドメイン アカウントから SQL Server Management Studio を実行しています。
- SQL アカウントはドメイン アカウントにリンクされており、
sysadmin
役割を持っています。 - SQL Server サービスは としてログオンします
Network Service
。 Network Service
共有フォルダーとそのサブフォルダーのフル コントロールを持っています。
これらのアクセス許可設定の一部がやり過ぎである可能性があることを懸念していますが、xp_fileexist
それでもサブフォルダーの内容を表示できません。
EXEC master.dbo.xp_fileexist '\\servername\sharename\subfolder\filename.txt'
ファイルが存在する |ファイルがディレクトリである |親ディレクトリが存在する -------------------------------------------------- ------- 0 |0 |0
ただしxp_fileexist
、共有フォルダー自体は表示されます。
EXEC master.dbo.xp_fileexist '\\servername\sharename'
ファイルが存在する |ファイルがディレクトリである |親ディレクトリが存在する -------------------------------------------------- ------- 0 |1 |1
質問:
共有フォルダの内容が見えないのはなぜですか?
また、実際に必要なセキュリティ設定は何ですか?