gpt4 book ai didi

c# - 执行 SQL 备份时访问被拒绝

转载 作者:行者123 更新时间:2023-11-30 22:01:50 25 4
gpt4 key购买 nike

我正在尝试使用 C# 来备份我的 WPF 应用程序中的选定数据库。我认为代码没问题,但是当备份运行时,我得到这个错误:

enter image description here

由于收到该错误,我尝试通过 C# 向所有人授予文件夹权限,但我仍然遇到同样的问题。任何帮助将不胜感激。提前致谢。

这是我的代码:

                DirectorySecurity sec = Directory.GetAccessControl(backupFolder);

SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
sec.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.Modify | FileSystemRights.Synchronize, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow));
Directory.SetAccessControl(backupFolder, sec);

List<string> dbNameList = GetDatabaseList();

if (dbNameList != null)
{
SqlCommand oCommand = null;
SqlConnection oConnection = null;
foreach (string dbName in dbNameList)
{
string command = @"BACKUP DATABASE " + dbName + " TO DISK='" + backupFolder + "'";
oConnection = new SqlConnection(ConnectionString);
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(command, oConnection);
oCommand.ExecuteNonQuery();
}

oConnection.Close();
}

最佳答案

我怀疑拒绝访问有点误导,是由于以下事实引起的backupFolder 是目录路径,而不是指向 .bak 文件的文件路径。

SQL Server 正在尝试打开输出的目录,这将以观察到的方式失败。

您需要传递包含所需 .bak 输出文件的路径。

关于c# - 执行 SQL 备份时访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com