2015-04-28 4 views
0

Во-первых, я новичок в 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 привилегии каким-то образом? Помогите.

+1

Я считаю, что сообщение об ошибке со ссылкой на DataTable схеме. Если вы попытаетесь сделать то же самое с datatable.dbo.employee, это сработает? – LordBaconPants

+0

Я пробовал, но он не копирует все таблицы именно потому, что у них есть своя схема. –

ответ

0

Существует ли схема HumanResources в обеих исходных и целевых базах данных? Кроме того, мне интересно, почему у вас есть WHERE 1=0. Даже если у вас не было этой ошибки, этот запрос никогда не будет копировать любые строки.

1

Есть Datatable.HumanResources.Employee уже существуют в вашей новой базе данных с теми же столбцами и типами уже?

Также стоит проверить, что пользователь, с которым вы подключаетесь к SQL, имеет соответствующие разрешения для обеих баз данных, поскольку вы получаете ошибку разрешения.

Ваш WHERE 1=0 (который, я считаю, вы получили от here), создаст пустой стол со столбцами из другой таблицы.

Правильный запрос вам нужно будет

USE AdventureWorks2012 
GO 

SELECT * 
INTO HumanResources.Employee IN Datatable 
FROM HumanResources.Employee 
Смежные вопросы