C# SQL Server维护计划存档到csv文件并删除记录

C# SQL Server维护计划存档到csv文件并删除记录,c#,sql-server,tsql,C#,Sql Server,Tsql,我想将日常数据导出到csv文件并删除记录 我已经看到标准维护计划可以选择只归档bak文件 我是否可以编写脚本并附加到维护计划中来执行任务? 每张桌子 以当前时间将记录导出到CSV文件CSV文件名 从中删除所有记录 实时数据库。 谢谢 用服务器端语言(如C)创建一个windows服务,并让它每天运行以检索数据,将其写入csv文件,然后删除数据,怎么样?使用OPENROWSET通过tsql导出数据,并将此代码放入作业中: BEGIN TRANSACTION; DECLARE @FileName A

我想将日常数据导出到csv文件并删除记录

我已经看到标准维护计划可以选择只归档bak文件

我是否可以编写脚本并附加到维护计划中来执行任务? 每张桌子

以当前时间将记录导出到CSV文件CSV文件名 从中删除所有记录 实时数据库。
谢谢

用服务器端语言(如C)创建一个windows服务,并让它每天运行以检索数据,将其写入csv文件,然后删除数据,怎么样?

使用OPENROWSET通过tsql导出数据,并将此代码放入作业中:

BEGIN TRANSACTION;

DECLARE @FileName AS VARCHAR(250)= 'Data-'+
       SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(50), SYSDATETIME(), 121), ' ', ''), ':', '-'), '.', '-')+'.xls';

INSERT  INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database='+@FileName+';', 'SELECT * FROM [SheetName$]')
SELECT  *
FROM    [YourTable];
WHERE < ... conditions ... >

DELETE  FROM [YourTable];
WHERE < ... conditions ... >

COMMIT; 

我希望能有所帮助:

是的,这是最终的解决方案。可以在SQL Serer代理作业中附加任何内容。如何将excel文件命名为当前时间?与使用timing命名的bak类似。使用此选项选择ReplaceConvertVarchar50,SYSDATETIME,121,,,,:;这个选择将去哪里?数据库=D:\Data.xls;'在这里抱歉。无法为链接服务器null创建OLE DB提供程序Microsoft.Jet.OLEDB.4.0的实例。你知道吗?我的数据库服务器是MS Sql server 2016开发者版。