65.9K
CodeProject 正在变化。 阅读更多。
Home

连接到 SQL Express '用户实例'

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (8投票s)

Aug 27, 2006

1分钟阅读

viewsIcon

42956

管理和分析 SQL Express '用户实例'。

引言

在免费的 SQL Server 2005 Express Edition 中,你获得了一个新的连接字符串参数 'User instance=true'。

"data source=.\SQLEXPRESS;Integrated Security=SSPI;
   AttachDBFilename=|DataDirectory|people.mdf;User Instance=true"

当指定此参数时,SQL Express 将在客户端创建另一个 sqlservr.exe 进程的实例。该进程在当前登录用户的安全上下文中运行。传递回客户端的连接对象连接到这个新的用户子实例,以用户的安全上下文作为客户端进程运行。

更多关于用户实例的细节?请阅读 MSDN 上的这篇优秀文章:使用用户实例

SQL Profiler

为了监控目的(了解幕后发生的事情、故障排除等),SQL Server Profiler 可以节省大量时间。Profiler 能够读取和显示客户端(例如,自定义应用程序、SQL Management Studio 等)与 SQL Server 之间的所有流量。只需将 Profiler 附加到正在运行的 SQL Server 实例即可。

但是,我们如何附加到“用户实例”,在这种情况下你没有已知的实例名称?

首先,从 SQL Express 查询 master 数据库如下

这里,你可以获得每个实例的命名管道。你还可以获得心跳信息:存活或死亡(如果用户实例连接的生命周期已超时;默认值为 60 分钟)。

其次,使用管道连接(只有存活的实例才能连接)

第三,获取流量,嗅探,分析...

你可以将 Profiler 与 Workgroup、Standard 和 Enterprise 版本一起使用。

SQL Server Management Studio / SQL Server Management Express

此解决方案也适用于 SQL Server Management Studio

Management Studio 会显示所有附加的数据库(在我的例子中,AspNetDB.MDFPeople.MDF)。 这是免费版本的 SQL Express Studio Management Server

© . All rights reserved.