检查了sql的用户权限,都没有错.sa和window两种方式都可以登陆sql2005
也检查了数据库所属文件夹的用户权限,也没有错.

解决方案 »

  1.   

    试下 下面的 看
    用VS数据库连接建立连接出现如下错误:  
    在建立与服务器连接时出错。在连接到SQL  Server  2005  时,在默认的设  置下SQL  Server不允许远程连接可能会导致此失败    error:40  无法打开  到SQL  Server的连接连接失败,解决方法如下:  
    去  
    http://www.microsoft.com/downloads/details.aspx?Fa ... 6E&displaylang=en#filelist 
    下载一个SQLServer2005_SSMSEE.msi安装,这是一个manage管理器,微软的官方网站有  下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。  
               1.  开启sql2005远程连接功能,开启办法如下,  
                   配置工具-  >sql  server外围应用配置器-  >服务和连接的外围应用配置器-  >打开MSSQLSERVER节点下的Database  Engine  节点,先择  "远程连接  ",接下建议选择  "同时使用TCP/IP和named  pipes  ",确定后,重启数据库服务就可以了.  
               2.登陆设置改为,Sql  server  and  windows  Authentication方式同时选中,具体设置如下:  manage管理器-  >windows  Authentication(第一次用windows方式进去),-  >对象资源管理器中选择你的数据服务器--右键  >属性  >security  >Sql  server  and  windows  Authentication方式同时选中.  
               3:设置一个Sql  server方式的用户名和密码,具体设置如下:  
           manage管理器->windows  Authentication  >new  query  >sp_password  null,'sa123456','sa'    
           这样就设置了一个用户名为sa  ,密码为:sa123456的用户,下次在登陆时,可以用Sql  server方式,  
    用户名为sa  ,密码为:sa123456的用户进数据库了.  
             4:  做完上面三步后,这样写连接字符串就可以顺利进入数据库了,  
                   (server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master  ");  
     后来用这个管理器才发现,正确的Server名是这样的,机器名\SQLEXPRESS而不是LOCALHOST,127.0.0.1,FANCYBOY(机器名)比如我的是这样的  
      

  2.   

    ASP.NET 连接 SQL Express
    SQL Express 是VS2005自带的SQL Server,相当于MSDE的2005版本。关于SQL Express的详细介绍,可参考微软官方网页 :http://www.microsoft.com/china/msdn/express/sql.aspx。为了方便管理数据库,可以下载Management Studio Express (集成了Enterprise Manager 与Query Analyzer的管理工具): http://msdn.microsoft.com/vstudio/express/sql/download/SQL Express的实例名默认为SQLEXPRESS,因此其实SQL Server服务的命名应为machinename/SQLEXPRESS. 由于SQL2005/Express对数据库引擎及数据连接控制作了较大的改动,因此在连接SQLEXPRESS的时候有些地方需要注意:1. SQL Express加强了对远程连接的控制,默认情况下远程控制是关闭的。要打开远程连接,可以通过SQL Server配置工具"SQL Server Surface Area Configuration"->打开"Surface Area Configuration for Services and Connections"->选择SQLEXPRESS->Database Engine->Remote Connections->选择"Using both TCP/IP and named pipes". 这样等同于在"SQL Server Configuration Manager里启用TCP/IP及Named Pipes。关于这两个网络协议,可以参考: 选择网络协议。如果需要用SQL 认证进行连接,请将该实例的认证方式改为SQL Server and Windows Authentication Mode (在Management Studio里查看该实例Propertyies->Security)2. 确认客户端机器启用了相应的网络协议。点击Start->Run->cliconfg->配置相应网络协议3. 确认SQL Server Brower服务正在运行。这个服务作用是监听传入的SQL Server服务请求并提供本机已安装的SQL Server实例信息。如果这个服务没启动,那么以实例名作为Data Source的远程连接请求将不能被正确映射到相应的实例服务上(详见SQL Server Browser服务)4. 检查客户端与SQL服务器之间的通信。由于Named Pipes是封装在TCP/IP协议之上的,首先要确认两台机器之间的TCP/IP通信正常。另外,需要用machinename/SQLEXPRESS的方式作为Data Source的话,要确认machinename可以被正确解析(使用ping 命令,最保险的方法是修改C:\WINDOWS\system32\drivers\etc\hosts,加上主机名与IP的映射)。然后对于使用TCP/IP网络协议的连接,可以用telnet xxx.xx.xxx.xx yyyy的方式检查客户端与SQL Server服务端口之间的通信。yyyy表示SQL Server服务监听的TCP/IP端口,可以查看SQL Server ERRORLOG 来得到(可用外部存储过程xp_readerrorlog);对于使用Named Pipes的连接,由于其基于进程间通信(IPC)机制,则要保证登录客户端的Windows帐号有访问SQL服务器IPC$共享的权限 (可使用net view \\servername及net use \\servername\\IPC$ 来测试)。另外,有时候会出现使用Named Pipes的时Windows Authentication连接失败而SQL Authentication连接成功的情况。由于Named Pipes一定是使用NTLM认证方式的 (无论Windows系统认证方式是Kerberos还是NTLM),
    因此在不需要Kerberos认证的情况下可以试着将Windows系统认证改为NTLM (运行cscript c:\Inetpub\AdminScripts\adsutil.vbs set w3svc/1/root/NTAuthenticationProviders "NTLM")。详细情况可以参见微软技术支持文档。5. 使用well formed连接字符串。可以参考 www.connectionstrings.com。.NET 2.0的SqlConnection.ConnectionString有一个针对SQL Express的Property--User Instance。注意这个Property只支持SQL Express,如果对其它版本的SQL Server 连接中使用这个Property是不行的。Tips: 在Data Source属性中可以强制指定网络协议,方法是 tcp:xxx.xx.xxx.xx,yyyy或np:machinename/SQLEXPRESS。另外连接SQL Express的时候可能会碰到一个比较令人费解的异常:
    An attempt to attach an auto-named database for file C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\WebSites\WebSite1\App_Data\aspnetdb.mdf failed. A database with the same name exists, or specified file cannot be Opened, or it is located on UNC share.
      

  3.   

    问题还是没解决,
    先说明环境,本机win2003,vs2005, sql2005,iis6.0,
    其次,我的网站程序本身是没有问题的(可以确定)
    因为网站一直运行都好好的,直到升级了一个叫华众的域名主机管理系统后才出现的问题.如果把数据库附加到管理器,程序是可以运行的,但是用slqexpress的方式就会出现
    "用户没有执行此操作的权限"的问题
      

  4.   

    我也是遇到了这个问题,原来是hzhost安装时候会自动覆盖web.config,我们用系统默认的web.config还原一下就好了,光这个问题就花了我一天的时间找原因,太阳了!
      

  5.   

    最简单的就是把你的xxx.mdf文件当作access数据文件放App_Code文件夹下使用.