由于需要,要把SQL2008单一的Windows身份验证改为混合模式身份验证。在此做一备忘。

步骤:

1、用Windows身份验证方式进入SQL2008,在“对象资源管理器”右击根目录,弹出服务器属性。在“选择页”->“安全性”->勾选Sql Server和Windows身份验证模式->确定。

到这里就可以断开连接退出并使用“SQL Server身份验证”模式登录了。

由于默认不启用sa,所以如果启用sa账户登录,则还需要如下设置:

2、回到“对象资源管理器”,展开“安全性”,展开“登录名”就会看到登录名sa,右键它-->属性,“选择页”上选“状态”,右边的登陆选“启用”。确定。

这样就可以用sa登录,密码默认为空

3、若要修sa密码,可做如下操作:

新建查询,执行语句:

EXEC sp_password NULL, '你的密码', 'sa';

(在此注意的是密码的策略,如果要用简单密码,则要在sa属性页里取消掉“强制实施密码策略”)

sp_password的说明:sp_password oldpassword,newpassword,loginame

但是在后续版本的SQL中,MS建议使用ALTER LOGIN而不是sp_password:

ALTER LOGINsa WITH PASSWORD = 'aa'  --把登录密码改为aa

ALTER LOGIN用来更改 SQL Server 登录帐户的属性:

ALTER LOGIN abina WITH NAME = abina2020;----将登录名abina改为abina2020

ALTER LOGIN abina ENABLE;  -----启用已经禁用的登录

此时就可以用sa账户和自定义密码在SQL身份验证模式下登录了!

4、万一还登录不了,可做如下尝试:

打开“SQL Server配置管理器”-->展开“SQL Server网络配置”-->“MSSQLSERVER 的协议”,在右边启用“TCP/IP协议”。

然后在SQL Server服务 里重启MSSQLSERVER服务即可。

与本主题相关的一些后记:

vs2008自带的数据库是SQL2005的Express版本,其默认根目录是 系统盘:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL,这个路径可能会和我们安装的SQL2008路径不同(实际上绝大多数情况下的确是这样),于是在不了解的情况下,当登录服务器名称选择为XXX/SQLEXPRESS登录后,会惊讶的发现自己以前创建的数据库“丢失”了!在作了相关了解后便知道其缘由了。