sql server 2000的一些问题解决方法

我机器上SQL Server 2000sa密码因为长时间不用忘记了,该如何重新设置?
    
可以以“Windows身份验证方式登录SQL查询分析器,然后执行EXEC sp_password NULL,'hello','sa',就可以将sa的密码改为hello了。

一些文章介绍说xp_ cmdshell是个危险的存储过程,我该如何删除?在需要时如何恢复?
      
到在SQLServer的查询分析器中使用存储过程sp_dropextendedproc就可删除xp_cmdshell这个存储过程,格式为:EXEC sp_dropextendedproc 'xp_cmdshell',需要时可使用sp_ addextendedproc恢复,格式为:EXEC sp_addextendedproc xp_cmdshell, 'xplog70.dll'

我的SQL Server 2000在一次系统重新启动后就无法启动了,该怎么办?
     
估计可能此前更改过操作系统的用户密码,可以到控制面板”→ “管理工具”→“服务”→“ MSSQLSERVER”,双击该服务,然后选择登录,在此账户输入最新的用户密码,点击确定按钮,然后启动SQLServer服务就可以了。

 

让UNION与ORDER BY并存于SQL语句当中

SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE1' ORDER BY NEWID()
UNION
SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE2' ORDER BY NEWID()
UNION
SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE3' ORDER BY NEWID()
UNION
SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE4' ORDER BY NEWID()
UNION
SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE5' ORDER BY NEWID()
UNION
SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE6' ORDER BY NEWID()
UNION
SELECT TOP N [Id],[Name],[Comment] FROM [Product] WHERE [Type]='TYPE7' ORDER BY NEWID()在查询分析器中执行如上语句会报错,这个问题起初会令您觉得UNION在这方面似乎有点软弱,难道UNION和ORDER BY就不能共存吗?当然可以,下面的代码或许能实现与上面代码希望实现的相同功能:
SQL server 附加数据库出错 错误602:未能在sysindexes中找到数据库id 18中对象id 1

SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE1 '   ORDER   BY   NEWID ())  AS   [ Product1 ]
    
UNION
    
SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE2 '   ORDER   BY   NEWID ())  AS   [ Product2 ]
    
UNION
    
SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE3 '   ORDER   BY   NEWID ())  AS   [ Product3 ]
    
UNION
    
SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE4 '   ORDER   BY   NEWID ())  AS   [ Product4 ]
    
UNION
    
SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE5 '   ORDER   BY   NEWID ())  AS   [ Product5 ]
    
UNION
    
SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE6 '   ORDER   BY   NEWID ())  AS   [ Product6 ]
    
UNION
    
SELECT   *   FROM
        (
SELECT   TOP  N  [ Id ] , [ Name ] , [ Comment ]   FROM   [ Product ]   WHERE   [ Type ] = ' TYPE7 '   ORDER   BY   NEWID ())  AS   [ Product7 ]

果是采用sqlServer2005的话你用Sql2000附加Sql2005的数据库就会出现这种错误(解决方法:改用SqlServer2005附加一下,如果还想用Sql2000格式那就用导出sql语句等方式进行转换)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值