连接到 SQL Express '用户实例'





4.00/5 (8投票s)
Aug 27, 2006
1分钟阅读

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.MDF 和 People.MDF)。 这是免费版本的 SQL Express Studio Management Server。