Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
C# 当指向本地SQL Server Express时,TraceServer类无法初始化为读取器_C#_Sql Server_Trace_Sql Server Profiler - Fatal编程技术网

C# 当指向本地SQL Server Express时,TraceServer类无法初始化为读取器

C# 当指向本地SQL Server Express时,TraceServer类无法初始化为读取器,c#,sql-server,trace,sql-server-profiler,C#,Sql Server,Trace,Sql Server Profiler,我正在尝试通过TraceServer类在.NET中创建跟踪。我的代码如下: var connectionInfo = new SqlConnectionInfo { ServerName = @".\sqlexpress", DatabaseName = "master", UseIntegratedSecurity = true, }; // note that at this point I can run a simple SELECT query // usin

我正在尝试通过TraceServer类在.NET中创建跟踪。我的代码如下:

var connectionInfo = new SqlConnectionInfo
{
    ServerName = @".\sqlexpress",
    DatabaseName = "master",
    UseIntegratedSecurity = true,
};

// note that at this point I can run a simple SELECT query
// using connectionInfo.ConnectionString

var server = new Microsoft.SqlServer.Management.Trace.TraceServer();
server.InitializeAsReader(
    connectionInfo,
    @"C:\users\chasemedallion\desktop\trace.tdf"
);

while (server.Read()) {
    Console.WriteLine(server["TextData"]);
}
但是,InitializeReader失败,出现以下异常:

Microsoft.SqlServer.Management.Trace.SQLTraceeException:未能将对象初始化为读取器。-->System.Runtime.InteropServices.COMException 在?A0x97257f7e.ProcessErrorInt32小时,UInt16*LPSZ消息 在Microsoft.SqlServer.Management.Trace.CTraceControllerBase.InitSourceBoolean打开 在Microsoft.SqlServer.Management.Trace.CTraceObjectsRowsetController.InitSourceBoolean中打开 在Microsoft.SqlServer.Management.Trace.TraceServer.InitializeAsReaderConnectionInfoBase serverConnInfo中,输入字符串profileFileName

--内部异常堆栈跟踪的结束--

在Microsoft.SqlServer.Management.Trace.TraceServer.InitializeAsReaderConnectionInfoBase serverConnInfo中,输入字符串profileFileName

这可能是什么原因造成的?我查看了,但我不是作为服务运行的,我的本地帐户具有对数据库的管理员访问权限,我可以通过SQL Server profiler运行跟踪


或者,我也很乐意通过.NET以编程方式运行跟踪。我需要能够像SQL Server profiler一样访问本地和远程服务器。

机器上是否安装了profiler?我不认为Express本身包含了用于跟踪的所有客户端实用程序和DLL,因此您可以远程跟踪,或者如果安装了Developer客户端工具或其他版本,但Express本身不包括…@AaronBertrand SqlServer profiler安装在我的机器上。我经常使用它来分析本地SqlExpress实例和远程数据库。我想用编程的方式做同样的事情。是否存在C:\users\chasemedallion\desktop\trace.tdf?尝试从任意CPU更改为x86,因为TraceServer只在x86上工作