C# mssql备份过期日期月份和日期部分已更改

C# mssql备份过期日期月份和日期部分已更改,c#,sql-server-2008,date,database-backups,C#,Sql Server 2008,Date,Database Backups,我的数据库备份的过期日期有问题 设置了到期日期,但更改了月份和日期部分。例如,过期日期应为“04.06.2017”,但在SQL Server Management Studio的还原窗口中,过期日期应为“06.04.2017” 我使用C#编写的程序创建备份。我想尽一切办法把日期改成正确的日期,但都没用。有了这样的日期,备份会每天覆盖,并且会在当月稍后的日期覆盖,因此无法执行备份,因为“06.13.2017”不是有效日期 有人知道我能做什么吗 备份的我的C代码: Backup bkpDBFullW

我的数据库备份的过期日期有问题

设置了到期日期,但更改了月份和日期部分。例如,过期日期应为“04.06.2017”,但在SQL Server Management Studio的还原窗口中,过期日期应为“06.04.2017”

我使用C#编写的程序创建备份。我想尽一切办法把日期改成正确的日期,但都没用。有了这样的日期,备份会每天覆盖,并且会在当月稍后的日期覆盖,因此无法执行备份,因为“06.13.2017”不是有效日期

有人知道我能做什么吗

备份的我的C代码:

Backup bkpDBFullWithCompression = new Backup();
bkpDBFullWithCompression.Action = BackupActionType.Database;
bkpDBFullWithCompression.Database = db;
//bkpDBFullWithCompression.ExpirationDate = DateTime.Now.AddDays(3);
bkpDBFullWithCompression.Devices.AddDevice(@"C:\backup_likesoft\" + "bkpDBFullWithCompression.Database + ".bak", DeviceType.File);
bkpDBFullWithCompression.BackupSetName = bkpDBFullWithCompression.Database + " database Backup - Compressed";
bkpDBFullWithCompression.BackupSetDescription = bkpDBFullWithCompression.Database + " database - Full Backup with Compressin -only in SQL Server 2008";
bkpDBFullWithCompression.SqlBackup(mServer);

谢谢

不,它们没有改变。6月4日在美国是6/4,在其他地方是4/6。无论如何,日期都不会用点来表示。你在哪里找到这根绳子的?它看起来像是应用程序生成的本地化字符串。可能是德语UI?是的,这是来自应用程序的本地化字符串。我认为sql server正在后台处理美国日期,即过期日期被更改。有没有可能改变这一点?备份过程的开始和结束日期显示正确。否,SQL Server未使用任何字符串格式。日期是二进制值。您看到的是同一日期值的本地化显示差异。如果有任何问题,请修复应用程序。使用不变区域性,或允许用户更改区域性或其他内容。如果要检查问题,请在SSMS中使用SQL命令,并使用ISO8601或未分离的日期格式指定日期。你会发现没有任何变化。我认为SSMS不是问题所在。当程序保存备份时,我想有些事情会搞砸。我已经尝试了C#和.net所拥有的不同的DateTimeKind,每次都是相同的结果,但是当我尝试时,以防万一,设置了一个新的datetime,并更改了月份和日期,就有了正确的日期。但是这个解决方案也只能在一个月的12号之前有效,所以,我正在尝试其他方法。