Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL Server Management Studio自动导出到CSV_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

使用SQL Server Management Studio自动导出到CSV

使用SQL Server Management Studio自动导出到CSV,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我使用MicrosoftSQLServerManagementStudio创建了一个视图,它从多个表中提取列。我需要每周将此视图导出到CSV文件中,因此我想为此设置某种自动过程。我已经阅读了许多示例,介绍了如何进行简单的右键单击并“将结果另存为”,或者如何使用导出向导,但我不知道如何将此过程自动化以每周运行一次 我对微软的一切都有点陌生,所以非常感谢您的帮助,谢谢 您可以创建一个SSIS包(仅谷歌“sql server导出数据SSIS”)并每周执行(您可以为此创建一个自动任务),或者您可以使用x

我使用MicrosoftSQLServerManagementStudio创建了一个视图,它从多个表中提取列。我需要每周将此视图导出到CSV文件中,因此我想为此设置某种自动过程。我已经阅读了许多示例,介绍了如何进行简单的右键单击并“将结果另存为”,或者如何使用导出向导,但我不知道如何将此过程自动化以每周运行一次


我对微软的一切都有点陌生,所以非常感谢您的帮助,谢谢

您可以创建一个SSIS包(仅谷歌“sql server导出数据SSIS”)并每周执行(您可以为此创建一个自动任务),或者您可以使用xp中演示的方法创建一个SSIS包(仅谷歌“sql server导出数据SSIS”)并每周执行(您可以为此创建一个自动任务)或者,您可以使用xp,如演示的

您需要的是安排每周运行一个作业。请看这里

您需要安排每周运行一个作业。请查看此处

还可以轻松设置一个邮件程序,使用
sp\u send\u dbmail
命令每周将csv文件作为附件发送

作为CSV附件:

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'AdventureWorks2008R2 Administrator',
    @recipients = 'danw@Adventure-Works.com',
    @query = 'SELECT COUNT(*) FROM AdventureWorks2008R2.Production.WorkOrder
                  WHERE DueDate > ''2006-04-30''
                  AND  DATEDIFF(dd, ''2006-04-30'', DueDate) < 2' ,
    @subject = 'Work Order Count',
    @attach_query_result_as_file = 1 ;
EXEC msdb.dbo.sp\u send\u dbmail
@profile_name='AdventureWorks2008R2管理员',
@接受者danw@Adventure-Works.com",,
@查询='从AdventureWorks2008R2.Production.WorkOrder中选择计数(*)
其中日期>2006-04-30
和日期差(dd,“2006-04-30”,DueDate)<2',
@主题='工作单计数',
@将\u查询\u结果\u附加为\u文件=1;

来源:

使用
sp\u send\u dbmail
命令,还可以轻松设置一个邮件程序,每周将csv文件作为附件发送

作为CSV附件:

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'AdventureWorks2008R2 Administrator',
    @recipients = 'danw@Adventure-Works.com',
    @query = 'SELECT COUNT(*) FROM AdventureWorks2008R2.Production.WorkOrder
                  WHERE DueDate > ''2006-04-30''
                  AND  DATEDIFF(dd, ''2006-04-30'', DueDate) < 2' ,
    @subject = 'Work Order Count',
    @attach_query_result_as_file = 1 ;
EXEC msdb.dbo.sp\u send\u dbmail
@profile_name='AdventureWorks2008R2管理员',
@接受者danw@Adventure-Works.com",,
@查询='从AdventureWorks2008R2.Production.WorkOrder中选择计数(*)
其中日期>2006-04-30
和日期差(dd,“2006-04-30”,DueDate)<2',
@主题='工作单计数',
@将\u查询\u结果\u附加为\u文件=1;

来源:

谢谢,这篇文章帮了大忙。谢谢,这篇文章帮了大忙。请注意,Microsoft SQL将在文件开头包含BOM表,这会阻止Excel识别文件格式。该死的微软让你的文件兼容了!请注意,Microsoft SQL将在文件的开头包含BOM表,这会阻止Excel识别文件格式。该死的微软让你的文件兼容了!我发现使用Powershell更容易实现这一点。我会发布这些步骤,但您的问题在提问中指定了ManagementStudio。我发现使用Powershell更容易实现这一点。我会发布这些步骤,但您的问题在询问中指定了Management Studio。