Параметр «Копировать базу данных» не найден в SQL Server Management Studio 2008 R2


10

Я не вижу опции Копировать базу данных в SQL Server Management Studio 2008 R2.

Может кто-нибудь сказать мне, что происходит, пожалуйста? Копировать базу данных не найдено изображение


исходная база данных полностью пуста без каких-либо строк. Я хочу скопировать только структуру с таблицами и связями между ними в пустую базу данных, размещенную на сервере. смотрите по ссылке blogs.msdn.com/b/jorgepc/archive/2009/01/19/...

2
@windson Тогда просто запишите в базу данных. Также намного проще в эксплуатации.
Томас Стрингер

Да, если он пуст, то так же просто использовать опцию генерации скриптов. Я не уверен, почему не работает опция неработающего мастера, у меня установлены 2008 и 2012, и они есть в обоих местах.
Аарон Бертран

Ответы:


24

Это потому, что вы нажимаете не на ту вещь. Не правой кнопкой мыши Базы данных , но вы должны действительно щелкнуть правой кнопкой мыши базу данных , которую вы хотите скопировать, и под задачи есть опция для копирования базы данных ... . Другими словами, щелкните правой кнопкой мыши на Database1, и вы увидите эту опцию в разделе Задачи .

Однако, согласно комментарию @ AaronBertrand, настоятельно рекомендуется не использовать мастер копирования базы данных. Просто зайдите с бэкапом и восстановите. Это будет меньше головной боли.

Изменить : Кажется, что эта опция недоступна для SQL Server Express Edition. При подключении к экземпляру SQL Server Express нельзя запустить мастер копирования базы данных. Это связано с тем, что два основных способа выполнения этой задачи недоступны в SQL Server Express Edition. Во-первых, метод Detach / Reattach использует агент SQL (предположительно для копирования данных и файлов журналов из источника в место назначения), а SMO был удален из 2008 R2 , поэтому этот метод также недоступен в Express 2008 R2.


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

@ Виндсон О, понятно. Хорошо, я бы сослался на ответ JNK, возможно, он попадает в одну из этих категорий. В любом случае, моей главной рекомендацией было бы просто «Сгенерировать сценарии ...» для базы данных. Это будет намного проще и менее подвержено ошибкам.
Томас Стрингер

Смотрите мое редактирование. Кажется, что этот мастер недоступен для экземпляров SQL Server Express.
Томас Стрингер

SMO был представлен с Sql Server 2005, DMO - устаревшая функция. SMO доступна для экспресс-выпуска Sql Server 2008R2.
Рой Гавиш

Любопытно, что мастер экспорта данных в SSMS Express прямо говорит: «Чтобы переместить или скопировать базы данных и их объекты с одного экземпляра сервера на другой, отмените этот мастер и используйте вместо этого мастер копирования базы данных».
ИЛИ Mapper

9

Я смог сделать копию базы данных, используя SQL Express, выбрав Backup Database, а затем выберите Restore from database. Выйти из простого


6
Почему отрицательные? Ответ Томаса указывает на то, что в SQL Server Express нет мастера копирования базы данных, поэтому резервное копирование и восстановление в качестве нового имени представляется прямой альтернативой.
Мартин Смит

4

Убедитесь, что он не помечен для репликации или для восстановления / подозреваемого / загрузки / недоступного.

Со страницы msdn этого мастера:

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

  • Системные базы данных

  • Базы данных помечены для репликации.

  • Базы данных, помеченные как недоступные, загружаемые, автономные, восстанавливаемые, подозрительные или в аварийном режиме.


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

1
@windson На скриншоте вашего вопроса вы, похоже, используете редакцию SQL Server Express, поэтому мне любопытно, почему вы приняли этот ответ, когда вторая половина ответа Томаса выглядит более уместной.
Мартин Смит

3

Это странно ... но похоже, что эта опция удалена в SSMS 2008 R2. Я вижу это в SSMS 2005 (кстати, ссылка, которую вы разместили, использует то же самое) И поэтому я думаю, что ваш единственный вариант - просто написать сценарий базы данных или восстановить резервную копию с другим именем.


Это в моей локальной SSMS 2008 R2.
Томас Стрингер

1
Теперь это становится действительно странным. Я вижу эту опцию, если я подключаюсь к экземпляру SQL Server 2008 R2 dev ... Но если я подключаюсь к экземпляру Express Edition на удаленном сервере, я не вижу эту опцию (у меня нет локального экземпляра Express, поэтому я не уверен, что это тот же случай) .. Интересно, основана ли эта опция на экземпляре экземпляра (Dev, Express, Enterprise и т. д.)
JackLock

6
Я вижу то же самое. Похоже, что это не доступно с экземпляром SQL Server Express.
Томас Стрингер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.