2015-12-18 2 views
0

У меня есть две базы данных, как на том же сервере, по умолчанию с именем XXX второй XXX\MSSQKSERVERVIS7Ошибка при использовании имя экземпляра в запросе в SQL Server

Мне нужно скопировать таблицу из второго дб по умолчанию , Когда я пытаюсь использовать имя сервера, я получаю сообщение об ошибке, что \ является неправильным синтаксисом. Запрос довольно прост я выполнить запрос из экземпляра

SELECT * 
    INTO table 
    FROM XXX\MSSQLSERVERVIS7.[db].[dbo].[table] 

по умолчанию Если я ставлю скобки имени сервера я получаю ошибку, что объект не существует.

+0

Этот ответ может дать дополнительную помощь для вашей проблемы. http://stackoverflow.com/questions/187770/copy-tables-from-one-database-to-another-in-sql-server – Xgongiveittoya

ответ

2

У вас есть два экземпляра SQL Server, работающих на одном физическом сервере. XXX является экземпляром по умолчанию, а XXX \ MSSQKSERVERVIS7 является именованным экземпляром. С точки зрения SQL Server они представляют собой два отдельных сервера. Вы не можете напрямую запрашивать между ними без дополнительной настройки.

Вам нужно указать create a linked server из экземпляра по умолчанию (XXX) в именованный экземпляр (XXX \ MSSQLSERVERVIS7). Затем вы должны использовать имя связанного сервера в SELECT.

+0

Сервер связан. Я могу передать противоположное направление без проблем. Я проверил использование SELECT * FROM sys.servers. Оба имеют другой сервер как связанный сервер, но я все еще получаю ошибку. –

0

Я нашел проблему. Это было в настройках безопасности при связывании серверов. Один из них был установлен правильно и работал. Другой - нет.

Смежные вопросы