C盘备份数据库出错
Backup database in drive C cause an error
我有一个问题。为什么我无法使用 vb.net 在驱动器 c 中备份我的数据库?
这是消息框错误:
我将在 vb.net
中执行的存储过程
BACKUP DATABASE DatabaseNameTest TO DISK = '\DSA02\Users\DSA_02\Source\Sample.BAK'
但是如果我在另一个驱动器上尝试这个:
BACKUP DATABASE DatabaseNameTest TO DISK = '\DSA02\DSA_02\Source\Sample.BAK'
不会报错
那么为什么在c盘我的代码return错误而在另一个盘却没有。
任何人都可以解决或帮助我解决这个问题吗?
------------ 我找到的解决方案---------
注意:不确定这是否是最好的 answer/solution 但现在我可以将备份文件保存在驱动器 c 中。
我在 drive C User
中配置了文件夹,它将保存在那里。示例:C:\User\Destination
我配置 Destination
文件夹
步骤:
Properties->Security Tab->Edit Button->Click Add->Enter object name like "Guest"->Click Check Names->Then OK->Then Click the newly added CompName/Guest field in "Group or Username"->Then Check All the Permission of Guest Except for Deny->Then OK.
然后这将允许您将 drive C
中的文件保存到其 Destination Folder
无需 运行 您的程序作为管理员。
您在上面的消息框中列出了两个目录。既然你提到你在 VB.net 中这样做了,我猜你连接了一个字符串。
如果你做了这样的事情:
BACKUP DATABASE DatabaseNameTest TO DISK = ' C:\Users\DSA_02\Source\Sample.BAK'
你会得到那个错误。注意第一个单引号和 C:\Users 部分之间的 space。
如果您要将一个字符串连接到一个变量,请先尝试将结果输出到 msgbox 以查看它是否连接正确。
您必须以管理员身份打开 Visual Studio 才能执行此操作。
然后,转到项目属性并单击查看 Windows 设置。你应该看到这样的东西:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
您应该将此声明更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
全部关闭,现在以管理员身份启动。问题是你不能在没有管理员权限的情况下写入 C:/
目录。
我有一个问题。为什么我无法使用 vb.net 在驱动器 c 中备份我的数据库?
这是消息框错误:
我将在 vb.net
中执行的存储过程BACKUP DATABASE DatabaseNameTest TO DISK = '\DSA02\Users\DSA_02\Source\Sample.BAK'
但是如果我在另一个驱动器上尝试这个:
BACKUP DATABASE DatabaseNameTest TO DISK = '\DSA02\DSA_02\Source\Sample.BAK'
不会报错
那么为什么在c盘我的代码return错误而在另一个盘却没有。 任何人都可以解决或帮助我解决这个问题吗?
------------ 我找到的解决方案---------
注意:不确定这是否是最好的 answer/solution 但现在我可以将备份文件保存在驱动器 c 中。
我在 drive C User
中配置了文件夹,它将保存在那里。示例:C:\User\Destination
我配置 Destination
文件夹
步骤:
Properties->Security Tab->Edit Button->Click Add->Enter object name like "Guest"->Click Check Names->Then OK->Then Click the newly added CompName/Guest field in "Group or Username"->Then Check All the Permission of Guest Except for Deny->Then OK.
然后这将允许您将 drive C
中的文件保存到其 Destination Folder
无需 运行 您的程序作为管理员。
您在上面的消息框中列出了两个目录。既然你提到你在 VB.net 中这样做了,我猜你连接了一个字符串。
如果你做了这样的事情:
BACKUP DATABASE DatabaseNameTest TO DISK = ' C:\Users\DSA_02\Source\Sample.BAK'
你会得到那个错误。注意第一个单引号和 C:\Users 部分之间的 space。
如果您要将一个字符串连接到一个变量,请先尝试将结果输出到 msgbox 以查看它是否连接正确。
您必须以管理员身份打开 Visual Studio 才能执行此操作。 然后,转到项目属性并单击查看 Windows 设置。你应该看到这样的东西:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
您应该将此声明更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
全部关闭,现在以管理员身份启动。问题是你不能在没有管理员权限的情况下写入 C:/
目录。