Вопрос

Я хочу перенести данные из базы данных одного сервера в базу данных другого сервера.Обе базы данных находятся на другом сервере mssql 2005.Репликация, вероятно, невозможна, поскольку конечная база данных создается с нуля на основе [интервала времени].

Предпочтительно я бы сделал что-то вроде

insert *
from db1/table1
into db2/table2
where rule1 = true

Очевидно, что учетные данные для подключения будут где-то в этом скрипте.

Это было полезно?

Решение

Я думаю, что вы хотите создать связанный сервер согласно этот статья MSDN.Затем вы должны выбрать имя объекта, состоящее из 4 частей, например:

Select * From ServerName.DbName.SchemaName.TableName

Другие советы

Вы можете использовать открытый источник данных следующим образом:

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO


SELECT  *
FROM    OPENDATASOURCE('SQLOLEDB',
                   'Data Source=<Ip Of Your Server>;
                    User ID=<SQL User Name>;Password=<SQL password>').<DataBase name>.<SchemaName>.<Table Or View Name>

Go

Можно ли использовать службы интеграции SQL Server (SSIS)?Если да, то я бы это использовал.

Будете ли вы переносить все содержимое базы данных с одного сервера на другой или только некоторые данные из пары таблиц?

Для обоих вариантов SSIS подойдет, особенно если вы планируете осуществлять перенос на регулярной основе.

Если вы просто хотите скопировать некоторые данные из 1 или 2 таблиц и предпочитаете делать это с помощью TSQL в SQL Management Studio, вы можете использовать связанный сервер, как предложено pelser.

  1. Настройте исходный сервер базы данных как связанный сервер.
  2. Используйте следующий синтаксис для доступа к данным
select columnName1, columnName2, etc from serverName.databaseName.schemaName.tableName

Ну, я не согласен с вашим комментарием по поводу репликации.Вы можете запустить репликацию, создав базу данных с нуля, и можете контролировать, будут ли обновления выполняться путем обновления доступной клиентской базы данных или простого воссоздания базы данных.

Автоматическая репликация облегчит вашу работу за счет автоматического управления ключами и связями.

Я думаю, что проще всего запустить репликацию снимков через MSSQL Server Studio, получить соответствующие сценарии T-SQL (т. е. соответствующие инструкции T-SQL как для публикации, так и для подписки) и записать эти сценарии как часть задания в список заданий агента SQL или задание репликации в папке репликаций.

Вы можете пойти по пути связанного сервера.

вы просто не можете использовать select *, вам нужно сделать вставку в select.

Я бы избегал репликации, если у вас нет опыта работы с ней, поскольку ее может быть трудно исправить, если она сломается, и она может быть подвержена другим проблемам, если не управлять ею должным образом.

Будьте проще, особенно если базы данных небольшие.

Можете ли вы использовать службы преобразования данных для выполнения этой работы?Это предоставляет всевозможные инструменты для выполнения подобных задач.

Вы можете загрузить пакет функций SQL Server 2005 с веб-сайта Microsoft.здесь

CREATE VIEW newR1 
AS
SELECT * from OPENQUERY ([INSTANCE_NAME], 'select * from DbName.SchemaName.TableName')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top