Britt Wescott Asked: 2022-03-29 07:29:58 +0800 CST2022-03-29 07:29:58 +0800 CST 2022-03-29 07:29:58 +0800 CST 检查跨多个服务器的 SQL Server 访问文件系统 772 本文介绍 SQL Server 数据库引擎访问存储数据库文件的任何文件夹所需的文件系统权限。 我的组织有数十台数据库服务器,每台服务器都将文件存储在不同数量的本地连接驱动器中。 是否有一个我可以运行的自动化 SQL(或 PowerShell)脚本将返回我所有(或不)对 NT SERVICE\MSSQLSERVER SID 具有完全控制权限的文件夹? 我已经尝试过使用DBATools 中的Test- DbaPath。如果文件夹存在,这将返回结果,但是它不会让我知道 SID 是否具有完全控制权。 sql-server powershell 1 个回答 Voted Best Answer SAKA UK 2022-03-29T07:56:53+08:002022-03-29T07:56:53+08:00 您所需要的只是一个循环来遍历您的每个 SQL 服务器并遍历您的数据/日志文件。是的,它是可行的,请在您的一台服务器上尝试以下操作。不要忘记更改文件夹名称。 $Folder = "D:\TEST" $User = "MSSQLSERVER" $permission = (Get-Acl $Folder).Access | ?{$_.IdentityReference -match $User} | Select IdentityReference,FileSystemRights If ($permission){ $permission | % {Write-Host "User $($_.IdentityReference) has '$($_.FileSystemRights)' rights on folder $folder"} } Else { Write-Host "$User Doesn't have any permission on $Folder" }
您所需要的只是一个循环来遍历您的每个 SQL 服务器并遍历您的数据/日志文件。是的,它是可行的,请在您的一台服务器上尝试以下操作。不要忘记更改文件夹名称。