首先,我是T-SQL的初学者,所以这个问题可能很愚蠢。对于那个很抱歉。
我正在尝试将表复制到另一个像这样的数据库
USE Datatable
GO
SELECT *
INTO Datatable.HumanResources.Employee
FROM AdventureWorks2012.HumanResources.Employee
WHERE 1=0
我收到错误:
"Msg 2760, Level 16, State 1, Line 2
The specified schema name "HumanResources" either does not exist or
you do not have permission to use it."
我是否拥有权限,或者我无法以某种方式重复使用Adventureworks架构或Alter权限?帮助
答案 0 :(得分:1)
新数据库中是否已存在Datatable.HumanResources.Employee
且具有相同的列和类型?
当您收到权限错误时,还要检查您连接到SQL的用户是否对这两个数据库具有适当的权限。
您的WHERE 1=0
(我相信您是从here获得的)只会创建一个包含其他表格列的空白表。
您需要的正确查询
USE AdventureWorks2012
GO
SELECT *
INTO HumanResources.Employee IN Datatable
FROM HumanResources.Employee
答案 1 :(得分:0)
源源数据库和目标数据库中是否存在HumanResources方案?另外,我想知道为什么你有WHERE 1=0
。即使您没有此错误,该查询也永远不会复制任何行。