我已经广泛搜索过帮助但没有找到任何内容,我正在尝试将SQL日志文件(管理> SQL Server日志)备份到csv或文本文件。
有没有办法用C#做到这一点?
答案 0 :(得分:4)
来自http://technet.microsoft.com/en-us/library/ms187885(v=sql.105).aspx
使用SQL Management Studio或任何其他方法查看SQL Server错误日志 文本编辑器。默认情况下,错误日志位于Program Files \ Microsoft SQL Server \ MSSQL.n \ MSSQL \ LOG \ ERRORLOG和ERRORLOG.n 文件。
因此,您可以使用Directory.EnumerateFiles类枚举文件,使用File.ReadAllText来读取每个文件中的文本。
答案 1 :(得分:3)
您应该能够通过SQL Server SMO程序集获取错误日志路径:
using System.Data.SqlClient;
using Microsoft.SqlServer.Management.Smo;
namespace SQLLogsToText
{
internal class Program
{
private static void Main(string[] args)
{
string errorLogPath = null;
using (var sqlConnection = new SqlConnection(@"Integrated Security=SSPI; Data Source=(local)\SQLEXPRESS"))
{
var serverConnection = new Microsoft.SqlServer.Management.Common.ServerConnection(sqlConnection);
var server = new Server(serverConnection);
errorLogPath = server.ErrorLogPath;
}
if (errorLogPath != null)
{
// Enumerate Files
}
}
}
}