Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 修改现有表的架构时出现“找不到对象”错误_Sql Server 2008_Tsql - Fatal编程技术网

Sql server 2008 修改现有表的架构时出现“找不到对象”错误

Sql server 2008 修改现有表的架构时出现“找不到对象”错误,sql-server-2008,tsql,Sql Server 2008,Tsql,我正在尝试使用以下命令将我的表模式从MySchema.TableName更改为dbo.TableName- ALTER SCHEMA MySchema TRANSFER dbo.TableName 我得到以下错误- Msg 15151,16级,状态1,第1行 找不到对象“TableName”,因为它不存在或您没有权限 通过搜索,我还添加了以下命令,但没有效果 ALTER AUTHORIZATION ON SCHEMA::MySchema to dbo; ALTER AUTHORIZATION

我正在尝试使用以下命令将我的表模式从MySchema.TableName更改为dbo.TableName-

ALTER SCHEMA MySchema TRANSFER dbo.TableName
我得到以下错误-

Msg 15151,16级,状态1,第1行 找不到对象“TableName”,因为它不存在或您没有权限

通过搜索,我还添加了以下命令,但没有效果

ALTER AUTHORIZATION ON SCHEMA::MySchema to dbo;
ALTER AUTHORIZATION ON OBJECT::MySchema.TableName TO SCHEMA OWNER;
ALTER SCHEMA MySchema TRANSFER dbo.TableName
我总是犯同样的错误


我的表名是正确的,我运行的数据库也是正确的。有什么帮助吗?

您的模式是反向的

改变

ALTER SCHEMA MySchema TRANSFER dbo.TableName
…致:

ALTER SCHEMA dbo TRANSFER MySchema.TableName
请参阅以确认源模式和目标模式应该在ALTER SCHEMA语句中的位置

如果ALTER SCHEMA语句仍然不起作用,那么您还有另一个问题,例如您没有必要的权限

有关您可能遇到的任何权限问题,请参阅,特别是其权限部分,其中说明:

要从另一个架构传输安全性,当前用户必须对安全性非架构具有控制权限,对目标架构具有ALTER权限

如果securable上有一个EXECUTE AS OWNER规范,并且OWNER设置为SCHEMA OWNER,则用户还必须对目标架构的所有者具有模拟权限

移动要传输的安全设备时,将删除与该安全设备关联的所有权限


@alroc的可能副本:我不同意这是一个副本。链接的问题只是询问如何将表移动到另一个模式。此问题是关于在尝试将表错误地移动到另一个架构时出现的特定错误。按照该答案中的说明,您将正确移动该表。这是同一个根本问题:在模式之间移动表的正确方法是什么?是的,我刚刚意识到: