1.不能改变当前数据库
2.setuser,sa用户可以改变自己数据库中的身份.

解决方案 »

  1.   

    1,可以这样,如:select * from DB_Name..TB_Name
      

  2.   

    sp中不能用 use db语句sp_password
    添加或更改 Microsoft® SQL Server™ 登录的密码
      

  3.   

    1 sp中不能用use dbaseName,用什么可以改变当前数据库?
    1 sp中可以用use dbaseName:
    例 use pub
       go
      select * from jobs
    go
      use northwind
      go
    select * from region
     用 select * from pub..jobs最方便
    2。sp_password
    查看帮助
      

  4.   

    to: angle1219(阿光) 
    =========================
    err:
    服务器: 消息 154,级别 15,状态 1,过程 acct2,行 5
    在 过程或触发器 中不允许使用 USE 数据库语句。=========================
    是否需要设置?
      

  5.   

    改密码:
    exec sp_password null,'新密码','sa'
    sp中可以
    select * from 库名..表名
    或:
    select * from 库名.dbo.表名
      

  6.   

    to  pengdali(大力):
    1 我的SP有足够权限,因为它是sa拥有的,不必修改账户口令。
    2 问题是select * from 库名.dbo.表名,当表名为系统表,如:sysobjects,syscolumns...,而"库名"是变量时(如:@db),如果不能用exec(use @db)(或其他等效方法),则必须用大量的动态sql语句。
      

  7.   

    用sa登录,建立登录test,然后建立数据库czzh,在czzh数据库中建立用户test,
    运行以下脚本建立act_bal表CREATE TABLE [test].[act_bal] (
    [act_id] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,
    [bank_code] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_qua_code] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_name_code] [char] (4) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_no] [int] NULL ,
    [act_bank_no] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_old_bal] [char] (16) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_cur_bal] [char] (16) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_bank_code] [int] NULL ,
    [act_dep] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,
    [act_date] [datetime] NULL 
    ) ON [PRIMARY]
    GO然后在分析器中用test 用户登录,
    执行 Select * from act_bal,出错,提示无该对象;
    运行 select * from test.act_bal 则正常
    把test用户在czzh中的角色加入db_owner中即可。
    这个时候 select * form act_bal就等于select * form test.act_bal