VS调试SQL存储过程的时候提示被用户取消
问题:
您工作的本机装有Visual Studio 2005,局域网中有一台SQL Server 2005数据库服务器,你想通过本机远程调试SQL Server 2005服务器上的存储过程。但是不知道如何配置或启用远程调试?希望这篇文章对您有用。
对于数据库和Visual Studio在同一机器的存储过程调试,可以直接调试,不需要做任何配置,但是对于远程调试的配置,没有过多篇幅描述,所以本文就说说如何配置SQL Server 2005进行远程调试。
开始之前,我们先约定,运行Visiual Studio 2005(下边简称VS)的机器,称之为客户机,运行SQL Server 2005(后边若未特殊说明,SQL Server均指SQL Server 2005)的机器,称之为服务器。
在下边的演示中,我的客户机操作系统是Windows XP SP2,服务器是Windows Server 2003 ,安装有SQL Server 2005,两台机器是对等网络关系,都不是通过域登录/管理的。事实上,在域中的二台机器,配置起用会更方便。所在请先检查您的网络环境,并抓住配置方法的核心要点,不要搞不定了跑来扔砖我哦:D~
废话少说,进入主题,在远程调试的过程中,有这么几个地方使用 到了这么几个帐号:
1. 客户机启动VS的帐号,或者当前登录客户机的Windows帐号;
2. 客户机访问服务器资源的帐号(比如访问服务器共享文件这样的情况);
3. 服务器上启动SQL Server服务的帐户;
4. 客户机连接服务器数据库的帐号(比如数据库中sa这种帐号);
1. 当前登录客户机的Windows帐号得有权限运行VS调试程序,所以最好使用管理员组的帐号登录客户机;比如帐号:yao,密码为1234,是客户机管理员组的帐号,下边均以此帐号进行说明;
2. 在服务器上,也有一个和客户机完全相同的帐号:yao,密码为1234,是服务器Administrators组的成员;注意用户名,密码要和客户机的完全相同,用户名相同,密码不同也不行。(如果是在域里的话,那就好办了,比如把域上的帐户yao分别加入二台机器的管理员权限。)
3. 在服务器上,将Windows帐号yao设置为SQL Server中sysadmin角色的成员;即使用帐号yao可以通过Windows身份验证连接SQL Server,并且这个帐号具有sysadmin角色的权限;
4. 在服务器上,将SQL Server服务以本机的Windows帐号yao运行;
5. 客户机连接服务器SQL Server的帐户(不管是Windows 用户帐户还是SQL Server 登录帐户)
必须是服务器SQL Server中sysadmin 角色的成员。比如是我们使用VS的服务器资源管理器连接SQL Server数据库时,要使用一个帐号;
6. 注意1,5点所说帐户的区别,一个是运行VS的帐户,一个是连接SQL Server的帐户,二者可以不相同。
7. 服务器上SQL Server登录验证不管是Windows身份验证,还是混合模式身份验证,都可以,只是设置为使用Windows身份验证的时候,第5点所说的连接帐号,也只能是Windows 用户帐户啦。
8. 注意设置客户机连接服务器的网络用户,要是2中所说的用户;这里的用户,需要在XP的“管理我的网络密码”中去设置;
9. 注意Windows防火墙或其它防火墙,在第一次做的时候,通通先关掉,等跑通了再开启开放相应端口;
1. 在客户机上,以管理员帐号登录,比如我以帐号:yao(密码为1234)登录;
注:经本人尝试,不一定非要以这个帐号登录,只要有这么一个帐号就可以,哪怕把这个帐号停用,也还是可以调试的。
2. 在服务器上,创建帐号:yao,密码也为1234,并加入Administrators组,如下图:
3. 在服务器上(我演示的服务器叫Server),将Windows帐号yao设置为SQL Server中sysadmin角色的成员;分为二步,先创建登录,再加入sysadmin角色组;如下图:
4. 在服务器上,将SQL Server服务以本机的Windows帐号yao运行,设置好后,记得将服务重启以生效,如下图:
5. 现在该到客户机的相关配置啦,接下来设置客户机连接服务器的网络用户,在控制面板->用户帐户->(点当前登录的用户名)->管理我的网络密码中,将连接服务器的帐号设置为服务器上刚创建的帐户yao,设置方法见下图示,经过此步设置后,客户机连接服务器时,将使用此用户来连接,如下图:
6. 到此时,关键配置已经完成了。接下来就是使用VS进行调试了,不多述,几张图大家应该看得明白:
上图中,连接SQL Server的帐户不管是Windows 用户帐户还是SQL Server 登录帐户,都必须是服务器SQL Server中sysadmin 角色的成员。当选择Windows身份验证时,就是使用用户Yao连接了;
7. 接下来找个存储过程试一下:
到这步时,才算一切都正确了。配置成功后,调试方法就和本机调试无异了,具体的调试方法可以参考本文开头所说的那篇文章。如果