我在本地运行 truncate table xxx 没有问题,但是远端连接的库就无法执行了为什么呢如: truncate table sc.abc.dbo.xxx 出现如下错误:Msg 4701, Level 16, State 1, Line 2
Cannot find the object "xxx" because it does not exist or you do not have permissions.
但是运行 delete table sc.abc.dbo.xxx 就没有问题,请问这是什么原因?

解决方案 »

  1.   

    你没有那个TRUNTABLE的权限,你是用什么用户登录的SA?
      

  2.   

    权限
    TRUNCATE TABLE 权限默认授予表所有者、sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员且不可转让。
      

  3.   


    哦,但我用的是sq用户阿exec sp_addlinkedserver   'SC', ' ', 'SQLOLEDB ', '192.168.13'
    exec sp_addlinkedsrvlogin  'SC', 'false ',null, 'sa', 'sa' 
    我在本地运行上述命令后,然后 在本地运行 truncate table sc.abc.dbo.xxx 
    请详解一下,谢谢!
      

  4.   

    you do not have permissions.
      

  5.   

    TRUNCATE TABLE 
        [ { database_name.[ schema_name ]. | schema_name . } ]
        table_name
    [ ; ]TRUNCATE TABLE 语法告诉我们,这个想法无法实现。
      

  6.   

    不过可以在sc服务器上建一个truncate table sc服务器表的proc
    然后远程调用该proc.
      

  7.   


    哦,明白,感谢perfectaction