我在安装Microsoft SQL Server 2008 企业版时,在服务器配置中,选择了“Windows 身份验证”,没有设置sa的密码。 
我现在想修改sa的密码,但是修改后,系统会自动还原为默认的密码(15位,不知道是什么)。 
请帮忙解答,急!谢谢!

解决方案 »

  1.   

    系统对sa没有默认的密码,你在 sa 的属性窗口中看到的那一串星号,是表示已经保存有密码,并非是系统另换了密码.如果你用 SQL Server 身份验证方式登录,就得用你自己设置的密码了.
      

  2.   

    我用把sa的密码修改为空,然后用C#连接数据库,代码如下:
    public SqlConnection getcon()
            {
                string M_str_sqlcon = "Data Source=(local);Database=db_SMS;User id=sa;PWD=";
                SqlConnection myCon = new SqlConnection(M_str_sqlcon);
                return myCon;
            }
    但是显示“用户‘sa’登陆失败”。
    再去SQL Server查看sa的密码,仍然显示15个*。
    为什么呢?
    就算我用密码123456789尝试,结果一样。
    郁闷!
    寒假要做课程设计,急啊!希望高手帮忙解答!
      

  3.   

    后来,把代码修改
    string M_str_sqlcon = "Data Source=***(计算机名称);Initial Catalog=db_SMS;Integrated Security=True";
    就可以连接数据库了。
    这是为什么呢?这和前一种连接方法有什么不同呢?哪一个比较好?
      

  4.   

    一般连接数据库都需要输入计算机名称,数据库名称,密码等.不要使用local的方式.
      

  5.   


    那我怎么才知道修改成功呢?
    我试过用Visual Studio 2008的服务器资源管理去建立数据库连接,当我用sa验证时,无论我有没有输入密码,系统都显示'sa'登录错误。
    因此,我尝试修改密码,也尝试过空密码,还是不行。
      

  6.   


    但如果输入的是我自己计算机名称,那程序岂不是去到其它电脑就连接不了数据库?
    而这种
    string M_str_sqlcon = "Data Source=(local);Database=db_SMS;User id=sa;PWD=";
    我去其它电脑尝试过,它装的是Visual Studio 2005,SQL Server 2000,却连接得上。那又是为什么呢?
    是不是版本的问题?
    这两种连接方式究竟有什么区别?
      

  7.   

    楼主,两种方式当然有区别,只有用SA的话,别的机子上才能连接过来。
    SA连接不上的原因有很多中,给我发个截图,我也许能帮你
    以前我也解决了自己的一些SA连接不上的问题,经验还好
      

  8.   


    Integrated Security=True这是用windows验证,没用到sa
      

  9.   

    http://www.cnblogs.com/zhzzyp/archive/2009/05/23/1487810.html
    需要将数据库属性设置windows和用户混合的模式
      

  10.   

    public SqlConnection getcon()
      {
      string M_str_sqlcon = "Data Source=(local);Database=db_SMS;User id=sa;PWD=";
      SqlConnection myCon = new SqlConnection(M_str_sqlcon);
      return myCon;
      }
    这个连接是利用sqlserver身份验证模式,当用sa用户登陆时,必须密码要正确才可以登陆成功!你说你的密码有***号则说明密码不为空,而你这里连接数据库的时候密码值是空的,所以登陆失败!
    string M_str_sqlcon = "Data Source=***(计算机名称);Initial Catalog=db_SMS;Integrated Security=True";
    这个是以windows身份验证模式连接,由于你先启动windows再启动数据库所以验证的时候只要你windows启动了用这个方法就可以连接数据库!
    其中这两种身份模式可以自己看到,先启动服务->sqlserver企业管理器->右键->属性->安全性
    可以看到两种身份验证模式