排错技巧 - 如何使用.UDL文件进行SQL服务器的连接测试
【本文作者为APGC System Center 支持组工程师 Jeffrey Gu】
前言
在我们日常排错工作中,经常需要测试前端应用程序与SQL数据库的连接情况,特别是当SQL Server运行在远端的服务器上时。另外,在Configuration Manager 2007以及Operations Manager 2007中,前端的应用一般使用本地系统账号(Local System)对数据库进行连接操作,我们需要找到一种简单的测试方式来进行连接测试。除了在当前的服务器上安装SQL的客户端组件,更简单的方法是我们可以通过UDL文件进行SQL的连接测试。
具体步骤
在以下步骤中,我们将在本地系统账号(Local System)下进行从ConfigMgr 2007站点服务器SC-SS到SQL服务器SC-SCCM的SQL测试连接。如果我们需要进行当前登录账号的测试,则只需要使用步骤3,4,8,9,10。
1. 通过Console Session登录到站点服务器SC-SS。
注意:如果我们是通过远程终端访问站点服务器SC-SS,我们需要使用mstsc.exe对应的console参数进行连接,在Windows XP SP3, Windows Server 2003 SP2之后的操作系统,我们可以通过mstsc /admin进行连接,以前的操作系统则可以通过mstsc /console进行连接。
2. 下载psexec工具,解压缩并放置到站点服务器SC-SS上(如果站点服务器的操作系统为Windows Server 2003或之前的版本,可以跳过这一步骤)。
https://technet.microsoft.com/en-us/sysinternals/bb897553
3. 在站点服务器SC-SS上创建一个新的空白文本文件,命名为test.txt,之后改名为test.udl。请确保后置名.txt可以显示,以便我们进行修改。
4. 将上述步骤的的文件复制到某一目录,比如, C:\
5. 使用管理员权限启用一个DOS运行窗口,并访问到步骤2中psexec.exe所在的文件夹。
6. 运行以下命令行打开一个使用Local System权限运行的新命令行。
psexec -i -s cmd.exe
请注意,在Windows Vista以前的操作系统中,我们也可以使用at命令行工具打开一个使用Local System权限运行的新命令行,方式如下:
- 打开一个DOS命令行
- 输入 at <time> /interactive cmd.exe
其中<time> 为一个将来的时间,比如当前时间为15:00,我们可以设置为at 15:02 /interactive cmd.exe
- 等待时间到打开新的窗口
7. 在步骤6中新打开的DOS命令行,输入whoami进行查询当前的用户
8. 在新的命令行工具中,浏览到之前步骤4中test.udl所在的路径,并输入test.uld打开此程序。
9. 在Provider标签栏中,我们选择 “Microsoft OLE DB Provider for SQL server”
在Connection标签栏目中,我们需要输入<SQL服务器名>\<SQL实例名>,若为默认实例,则只需要输入SQL服务器名。同时,确认我们选择了“Use Windows NT Integrated Security”
10. 点击 “Test Connection” 来确认连接。如果此处出现连接错误的信息,则我们可以根据错误的信息来进行对应的排错。
[本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予]
Comments
- Anonymous
February 20, 2012
Great, we need more troubleshooting article like this.