如果您无法确定所需的正确用户权限(假设您具有管理员权限),这里有两种更简单的方法...
方法 1 - 磁盘替换
(即 SQL Server 数据库文件的驱动器号最终将相同)
如果您要更换 SQL Server 数据库文件所在的辅助硬盘驱动器(例如更大的硬盘),则特别有用。右键单击 Microsoft SQL Server Management Studio (SSMS) 中的数据库、任务、脱机。
然后只需复制文件并保留其所有权:
在哪里:
/E
- 复制目录和子目录,包括空目录
/F
- 复制时显示完整的源文件和目标文件
/I
- 如果目标不存在并且复制多个文件,则假定目标是一个目录
/V
- 验证每个新文件
/K
- 保留属性,包括只读的
/O
- 复制文件所有权和 ACL 权限
/X
- 复制文件审核设置(隐含/O
)
您可能还需要,具体取决于您要迁移的文件:
/C
- 即使发生错误也继续复制
/G
- 允许将加密文件复制到不支持加密的位置
/H
- 复制隐藏和系统文件
更换驱动器并确保驱动器号与以前相同。最后右键单击 SSMS 中的数据库,任务,联机。
方法 2 - 将文件移动到另一个磁盘或分区
(即 SQL Server 数据库文件的驱动器号会改变)
当您想释放驱动器/分区上的空间时很有用(例如在您宝贵的 SSD 磁盘上,以便您可以将文件放在辅助标准盘片上!)。
在 SSMS、Tasks、Detach 中右键单击要移动的数据库。导航到文件,这些文件通常位于类似C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
和调用的MyDatabase.mdf
文件以及MyDatabase_1.ndf
. 将它们复制到新位置(不要担心它们的权限)。
然后以管理员身份打开 SSMS,否则您将在下一步中CREATE FILE
出现类似错误。Access is denied
右键单击数据库、附加、添加,浏览到新定位的MyDatabase.mdf
.
瞧!如果您右键单击文件并在 SSMS 中附加之前和之后检查它们的权限,您会注意到权限已被神奇地纠正!