У меня есть две базы данных, одна на удаленном сервере, другая локальная. (SQL Server 2008)
База данных на моем локальном сервере полностью настроена, но нет данных. Я хотел бы скопировать данные с удаленного сервера на мой сервер, и мне интересно, как лучше всего это сделать.
Основная проблема, с которой я сталкиваюсь, - это то, что у пользователя, к которому у меня есть удаленная база данных, есть ограниченные разрешения. Я не могу прочитать хранимые процедуры, определенные пользователем функции, поэтому при использовании мастера импорта / экспорта я не получаю схему и т. Д. Поэтому обычный дамп / восстановление не работает для меня, поскольку он восстанавливает таблицы без первичных ключей / внешних ключей и хранимые процедуры.
Я бы хотел это сделать,
INSERT INTO localtable SELECT * FROM remotedb.table
У меня были проблемы из-за полей IDENTITY
, и мне пришлось явно назвать все столбцы. Также я не уверен, что SQL Server Management Studio позволяет использовать две разные базы данных, удаленную и локальную, поэтому я искал любой совет.
Я также пробовал такие приложения, как SQL FTP и резервное копирование, и он не работает, потому что у него не хватает памяти (у меня 16 ГБ памяти на машине, а БД как 4 ГБ). Я также могу использовать мастер импорта / экспорта SQL Server, но тогда я не получаю информацию о схеме. Я также попробовал SQL Compare из Red Gate, и он сталкивается с проблемами с разрешениями. К сожалению, у меня нет времени запрашивать и получать доступ к новому пользователю, поэтому я надеялся, что у кого-то есть творческая идея.