无法从Web应用程序连接到SQL Server实例,但可以从SSMS连接

时间:2013-05-09 06:31:19

标签: database sql-server-2008 sql-server-2008-r2 database-connection

我已经安装了SQL Sever 2008 R2 Express,并且能够使用(本地)和Windows身份验证与SSMS连接。

但是,当尝试从Visual Studio 2012中运行的MVC Web应用程序连接到它时,当我尝试打开与它的连接时,我收到了与网络相关的异常。

这是我的连接字符串:

connectionString="Server=.\SQLEXPRESS;Database=DavisFamily;UserID=adminuser;Password=******;"

我知道这在其他环境中设置正确,因为其他人的应用程序运行正常。我需要我的机器才能使用此连接字符串并使用它。


所以我只是打开了Sql Server配置管理器来尝试确定我的实例名称是什么,我注意到的第一件事就是当我点击“SQL Server配置管理器”树结构的“SQL Server服务”节点时,我在右侧窗格中收到错误消息“远程过程调用失败。[0x800706be]

这与我为什么无法从Web应用程序连接到它有什么关系?请记住,我可以使用SSMS“(本地)”直接连接到它。

3 个答案:

答案 0 :(得分:1)

转到SQL Server配置管理器(在sql server配置工具下)

打开SQL服务器网络配置

为您的实例打开协议确保已启用TCP / IP

在IP All>下打开tcp / ip属性设置端口号为1433

答案 1 :(得分:0)

也许这可以帮到你。 如果我的意思正确的话......那么: 通过使用下面的代码,您可以访问您的服务器和数据库信息。 试试......这可能会有所帮助。

using Microsoft.SqlServer.Management.Smo;

Server server = new Server(".\SQLEXPRESS");
string Name = server.Databases[0].Name;//Also the Name of your Database 
server.Databases["DavisFamily"].Rename("NewName");//Rename

此代码位于C#中。但请注意,我猜您可能无法将此重命名函数用于当前应用程序或网站使用的数据库

答案 2 :(得分:0)

是的,我明白了。对于第一个问题,我认为这有助于您: 现在您使用 adminuser 作为登录用户名。您可以设置一些属性。

首先使用 Sql Server身份验证用户名: sa 和您的密码登录您的sql。 然后这样做......

  

在SQL Server Management Studio和左侧树中>安全>登录>右键单击 adminuser ,然后选择属性>在服务器角色中,同时选中公开系统管理员框>然后在用户映射中检查您将要使用的数据库 DavisFamily >然后单击确定

尝试上述行动......这些可能会有所帮助。

并且针对第二个问题(错误消息“远程过程调用失败。[0x800706be])。 导致此问题的原因很多...在Windows上安装了较低版本的另一个sqlserver吗?如果是,请查看该版本的__ Sql Server Configuration Manager__。也许这会引起这个问题...而且我也读过那些有错误的人,通过安装 SQL Server 2008R2 Service Pack 1 解决了这个问题。
您也可以查看以下链接:
[链接1]:Remote Procedure call failed with sql server 2008 R2
[链接2]:The remote procedure call failed