sql server express 启用sa及附加数据库的方法

最近一直在玩VS,因为VS自带的那个Sql Server Express没有企业管理器,所以感觉特别鸡肋,于是我在虚拟机里搞了一个Sql Server的服务器,可是今天这个Vmware又起不来了,于是我只好啃啃这块鸡肋~~

还好鸡肋也不是特别鸡肋,至少提供了可以执行sql语句的地方~我的思路很简单,附加数据库,然后用存储过程修改sa密码,之后再用sa链接数据库。思路很清晰,可是事实证明,思路永远跟显示存在着差距:

附加数据库的步骤很顺利,通过一个内置的存储过程  sp_attach_db ‘数据库名’,’数据库全路径’,’日志全路径’ 这样就把附加数据库搞定了~~修改sa密码同样也很easy,修改了master表,  ALTER LOGIN [sa] WITH PASSWORD=N’新密码’ 这样就搞定了修改密码。可是当我尝试用sa与新密码登陆时,却被告知sa登陆失败,上网查询了下下,发现express版默认登陆验证方式是windows方式,而常规的更改方法需要企业管理器,没办法只好用非常规的办法了,查了半天资料,终于在CSDN找到了有用的东西:

想要修改登陆模式,可以通过修改注册表的办法进行

2005:HKLMSOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.1MSSQLServerLoginMode
2008:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLServerLoginMode

1:windows身份验证
2:混合身份验证

这下就好了,我改了注册表,重启了Sql server服务,却出现了新的问题,提示 “sa已被禁用”汗……再接着搜索,发现还是修改master表可以解决这个问题:

USE [master]
GO
ALTER   LOGIN   sa   ENABLE   ;

至此,就可以使用sa跟密码进行登录咯~~

PS:最后附个SQL Server Management Studio Express 2005的下载链接吧:点此下载

数据库行列转换【转】

create table tb
(
  Name    varchar(10) ,
  Subject varchar(10) ,
  Result  int
)

insert into tb(Name , Subject , Result) values(‘张三’ , ‘语文’ , 74)
insert into tb(Name , Subje…

create table tb
(
  Name    varchar(10) ,
  Subject varchar(10) ,
  Result  int
)

insert into tb(Name , Subject , Result) values(‘张三’ , ‘语文’ , 74)
insert into tb(Name , Subject , Result) values(‘张三’ , ‘数学’ , 83)
insert into tb(Name , Subject , Result) values(‘张三’ , ‘物理’ , 93)
insert into tb(Name , Subject , Result) values(‘李四’ , ‘语文’ , 74)
insert into tb(Name , Subject , Result) values(‘李四’ , ‘数学’ , 84)
insert into tb(Name , Subject , Result) values(‘李四’ , ‘物理’ , 94)
go
———
–动态SQL,指subject不止语文、数学、物理这三门课程。
declare @sql varchar(8000)
set @sql = ‘select Name as ‘ + ‘姓名’
select @sql = @sql + ‘ , max(case Subject when ”’ + Subject + ”’ then Result else 0 end) [‘ + Subject + ‘]’
from (select distinct Subject from tb) as a
set @sql = @sql + ‘ from tb group by name’
exec(@sql)
/*
姓名        数学        物理        语文         
———- ———– ———– ———–
李四        84          94          74
张三        83          93          74
*/

SQL Server 2000 服务无法启动故障

今天上课,有几台电脑的SQLServer无法启动,系统提示服务启动后又停止了。

查了很多资料,并没有解决问题,不过在一个偶然间注意到系统时间为“2002年”将系统时间改为正常时间,故障解决。

今天上课,有几台电脑的SQLServer无法启动,系统提示服务启动后又停止了。

查了很多资料,并没有解决问题,不过在一个偶然间注意到系统时间为“2002年”将系统时间改为正常时间,故障解决。