可能该表的创建者(或所有者)不是DBO角色,请加上所有者调用
EG:
  Select * from databaseName.usr.tableName
  
或者将该表的所有者改成DBO
exec sp_changeobjectowner 'tablename','dbo'
然后就可以
   Select * from databaseName.dbo.tableName

  Select * from databaseName..tableName

use databaseName
Select * from tableName

解决方案 »

  1.   

    --试试在查询分析器中执行下面的语句再试:exec sp_MSForEachTable 'sp_changeobjectowner ''?'',''dbo'''
      

  2.   

    你的表在查询分析器中能否执行
    select * from myTable?
      

  3.   

    把你相关的sql语句拿到查询分析器执行
      

  4.   

    我执行的时候
    执行select * from myTable.dbo.user(我的数据库叫myTable,有表user,而且,在左边的列表中也能看到)得到的提示是:
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'user' 附近有语法错误。
    但是我执行select * from Northwind.dbo.Orders就能够成功的得到数据,这到底是怎么了啊?
      

  5.   

    select * from myTable.dbo.[user]
      

  6.   

    操作步骤:
    1、sa登陆
    2、建立数据库test
    3、建立登陆admin,默认数据库可以选择test(也可以其他,但必须有权限),服务器角色不要选,在数据库访问里选到test,数据库角色选上db_owner,保存。
    4、在查询分析器里用admin登陆,建立表create table aaa (a char(1))。
    5、这个时候select * from aaa就可以了。
      

  7.   

    你的user是关键字,所以要用[]扩起来。
      

  8.   

    SQL SERVER 中规定了两种类型的标识符,一种是规则标识符(Regular identifier),
    一种是界定标识符(Delimied identifier)。
    1.规则标识符严格遵守标识符有关格式的规定。所以在Transact-SQL语句中凡是规则
    标识符都不必使用界定符,如[]和" "来进行界定。
    2.界定标识符是那些使用了等起界定作用的符号来进行位置限定的标识符。使用了界定
    标识符,既可以遵守标识符的命名规则,也可以不遵守标识符命名规则。
      

  9.   

    请教,除了user还有哪些是需要注意的呢?
      

  10.   

    关键字呀,select from都是呀。