当前位置:首页 > SQL Server

使用SQL命令行(sqlcmd)启用sa用户

发表于 2016-01-02 20:42

背景

最近做了一个小网站,准备部署到服务器上,由于使用到了SQL Server,所以需要先到服务器上装个SQL Server。于是下载了SQL Server 2008 Express版本,但是安装时总是报错,提示“SQL Server安装程序失败”。重启了服务器重新装依然不行,在网上也找了许久,没有发现什么解决方案。于是想到了用VS 2010中有自带的服务器资源管理器可以连接到数据库,使用windows验证方式可以连接上,但是sa用户却不行。VS 2010自带的工具没有SQL Server Management Studio(SSMS)功能那么强大,不能修改sa用户的一些信息。安装完SQL Instance之后,sa用户默认是禁用的,我们需要将其启用,并设置密码。既然没有SSMS,那我们就需要使用SQL命令行(SQLCMD)来做这些事情。


步骤

1. 登录SQL Instance,PCName为你的计算机名称,SQLEXPRESS为Instance名称。

sqlcmd -S "PCName\SQLEXPRESS"

2. 启用sa用户。

ALTER LOGIN sa ENABLE

3. 设置sa用户的密码,这里的123为我设置的密码。

ALTER LOGIN sa WITH PASSWORD="123"

到这里我们都修改好了,用命令去测试是否修改成功。先Exit一下,退出sqlcmd,因为之前已经登录过了,再次登录的时候即使出错也没有反应。Exit之后,再用sa用户登录

sqlcmd -S "PCName\SQLEXPRESS" -U "sa" -P "123"

这时候我们会发现,依然登录失败。接着往下看。

4. 修改SQL的身份验证模式。默认的是Windows身份验证模式,我们需要修改其为SQL Server和Windows身份验证模式,直接修改注册表即可。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer节点下有个LoginMode的键,把值从1修改为2即可。(可能由于操作系统或SQL的版本不同,路径稍微有点区别,如果这里没有,到Wow6432Node下面去看看有没有)

LoginMode的值1代表Windows验证模式,2代表混合验证模式。

5. 这时候再去测试。重启SQL服务,退出sqlcmd,再次运行测试命令,没有错误,就代表成功了。我们也可以再随便运行一个查询命令看是否能查出数据。如:

无标题.png

之后我们就可以使用VS 2010自带的工具去连接这个Instance了。


本文章由创风网原创,转载请注明出处:http://www.windite.com/article/details/q4civu11