无法复制 SQL Server 文件,访问被拒绝
Posted
技术标签:
【中文标题】无法复制 SQL Server 文件,访问被拒绝【英文标题】:Can not copy SQL Server files, Access is denied 【发布时间】:2012-03-16 08:24:10 【问题描述】:我需要将我的 SQL Server 数据库复制到一个文件夹中。这些文件附加到我使用我的代码分离的 SQL Server。当我尝试使用复制这些文件时
My.Computer.FileSystem.CopyFile(filePathToCopyFrom1, targetFilePath1)
返回错误: "访问文件夹 D:\MyDbs 被拒绝"
当我手动处理这些文件时,它询问“您需要管理员权限才能复制这些文件”,我点击了继续,它工作了,但是如何使用我的 vb.net 代码解决这个问题?
我已从 Windows 将完全控制权授予管理员,但仍然无法正常工作。 谢谢
【问题讨论】:
你的代码是以什么用户身份运行的? 【参考方案1】:似乎分离过程很顺利。您可以通过 Windows 资源管理器进行复制,但不能从您的应用程序中复制。此处的主要区别在于文件受到保护,只能由管理员用户访问。
然后,您需要使用管理员 windows 帐户运行您的应用程序,以便应用程序继承用户的权限才能执行此操作。
【讨论】:
【参考方案2】:请记住,如果您使用的是 Windows Vista+(我假设您会这样做),那么根文件夹几乎是不受限制的。您可以以管理员身份运行该应用程序,或将其复制到根目录下的文件夹中。另一点是你从哪里复制。如果数据库当前在程序文件中,您很可能也会遇到此问题,然后您必须以管理员身份运行应用程序。
右键单击应用程序,然后选择以管理员身份运行,或选择属性并在兼容性中选中程序应以管理员身份运行的框。如果您使用后者,那么每次运行时都会弹出一个框,除非您更改用户帐户控制设置。
【讨论】:
以上是关于无法复制 SQL Server 文件,访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server无法打开物理文件,操作系统错误 5:"5(拒绝访问。)的解决办法
信息:无法打开物理文件“路径”。操作错误5:“5(拒绝访问。)”(MICROSOFT SQL Server,错误:5120)