cro*_*sek 5 file-permissions sql-server-2012
安装新的SQL Server 2012实例后,我希望将数据库文件移动到单独的驱动器.当我在目标位置执行文件 - >属性,然后单击安全 - >编辑 - >添加 - >高级,选择位置=机器名,然后单击查找,我只看到与分析服务相关的表单:
SQLServerMSASUser$MachineName$InstanceName
Run Code Online (Sandbox Code Playgroud)
我认为我真正需要的权限是我能看到的那个存在于默认的C:驱动器位置:
MSSQL$InstanceName
Run Code Online (Sandbox Code Playgroud)
当我试图直接输入它时,它是无法识别的.如果我将目录设置为"Everyone",然后将数据库移动到那里(使用恢复),它将工作并在mdf文件上显示上述权限.当父目录未显示为列表中的可用条目时,如何在父目录上设置该权限.谢谢!
如果您无法确定所需的正确用户权限(前提是您具有管理员权限),这里有两种更简单的方法...
\n\n如果您要更换 SQL Server 数据库文件所在的辅助硬盘驱动器(例如,更换更大的硬盘驱动器),则特别有用。右键单击 Microsoft SQL Server Management Studio (SSMS) 中的数据库、任务、脱机。
\n\n然后只需复制文件并保留其所有权:
\n\n然后使用:
\n\nxcopy D:\\path\\sql1 E:\\path\\sql2 /E /F /I /V /K /O /X\nRun Code Online (Sandbox Code Playgroud)在哪里:
\n\n/E- 复制目录和子目录,包括空目录/F- 复制时显示完整的源文件和目标文件/I- 如果目标不存在并且复制多个文件,则假定目标是一个目录/V- 验证每个新文件/K- 保留属性,包括只读/O- 复制文件所有权和ACL权限/X- 复制文件审核设置(隐含/O)您可能还需要,具体取决于您要迁移的文件:
\n\n/C- 即使发生错误也继续复制/G- 允许将加密文件复制到不支持加密的位置/H- 复制隐藏文件和系统文件更换驱动器并确保驱动器号与之前相同。最后右键单击SSMS中的数据库,任务,上线。
\n\n当您想要释放驱动器/分区上的空间(例如您宝贵的 SSD 磁盘上的空间,以便您可以将文件放在辅助标准盘片磁盘上!)时非常有用。
\n\n在 SSMS、任务、分离中右键单击要移动的数据库。导航到文件,这些文件通常位于类似C:\\Program Files\\Microsoft SQL Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA和MyDatabase.mdf的多个副本MyDatabase_1.ndf。将它们复制到新位置(不用担心它们的权限)。
然后以管理员身份打开 SSMS,否则您将出现CREATE FILE类似Access is denied下一步的错误。
右键单击数据库,附加,添加,浏览到新定位的MyDatabase.mdf.
瞧\xc3\xa0!如果您右键单击文件并在 SSMS 中附加之前和之后检查其权限,您会发现权限已被神奇地更正!
\n