Как скопировать бд в sql server
Перейти к содержимому

Как скопировать бд в sql server

  • автор:

How to export a MS SQL Server database to a SQL script (database to sql file) with Microsoft SQL Server Management Studio 17

Learn how to export a database of SQL Server to a .sql file easily with SSMS.

Most of the developers feel not so comfortable with .bak files that are generated by the export backup option of SQL Server, at least for not so huge databases. For this reason, you may need to export sometimes the database in the script format (.sql). However, trying to export it in this format may be a headache for some people that are not familiar with the SQL Server Managemente Studio.

In this article, we’ll explain briefly how to export the structure and data from a database stored in SQL Server into a .sql file easily.

Generating .sql file of your database with data

SQL Server Management Studio provides the ability to generate scripts for creating databases, tables, stored procedures, functions, views and inserting data. For smaller amounts of data, this method can be used to send table structures and/or data to Scribe Support for testing purposes.

To proceed, Open SSMS and access the database engine with the default Windows authentication (or from the connection that you want to access):

SQL Server Management Studio SSMS Login

Connect to the server and explore the databases in the object explorer. In our case, we want to export the my_database database, that, as you can see, is available in the Databases directory:

SQL Server Management Studio Database Viewer

Do right click on the database and select Tasks and then on Generate Scripts:

Generate Scripts SQL Server

This will open the Generate and Publish Scrips dialog. As first step, define which tables of the database you want to export, optionally you can script the entire database and objects:

Export Tables MS SQL Server Management Studio

After confirm which tables do you want to export, proceed to define if you want a single file per table or everything in a single file. If you go to the advanced scripting options, you can define the types of data to script, this means if you want to include the data on the file directly or only the structure of the database:

SQL Server Export Data and Structure

Finally, the export will begin and you will see the success message at the end:

Как я могу клонировать базу данных SQL Server на том же сервере в SQL Server 2008 Express?

У меня есть система MS SQL Server 2008 Express, которая содержит базу данных, которую я хотел бы «скопировать и переименовать» (для целей тестирования), но я не знаю простого способа добиться этого.

Я замечаю, что в версии R2 SQL Server есть мастер копирования базы данных, но, к сожалению, я не могу обновить.

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

13 ответов:

  1. установите Microsoft SQL Management Studio, вы можете скачать его бесплатно с сайта Microsoft:

    версия 2008

    Microsoft SQL Management Studio 2008 является частью SQL Server 2008 Express с расширенными службами

    версия 2012

    клик скачать и проверьте ENU\x64\SQLManagementStudio_x64_ENU.exe

    версия

    клик скачать и проверьте MgmtStudio 64BIT\SQLManagementStudio_x64_ENU.exe

  2. откройте Microsoft SQL Management Studio

  3. резервное копирование исходной базы данных в файл (db -> Task -> Backup).
  4. создать пустую базу данных с новым именем (клон).
  5. Нажмите, чтобы клонировать базу данных и открыть диалоговое окно восстановления (см. изображение) restore dialog
  6. выберите устройство и добавьте файл bakcup из шага 1. add backup file
  7. изменить назначение для проверки базы данных change destination
  8. изменить расположение файлов базы данных, она должна отличаться от оригинала. Вы можете ввести непосредственно в текстовое поле, просто добавьте постфикс. (Примечание: порядок имеет важное значение. Установите флажок, затем измените имена.) change location
  9. проверка с заменой и с KEEP_REPLICATION with replace

щелкните правой кнопкой мыши базу данных для клонирования, нажмите кнопку Tasks , нажмите кнопку Copy Database. . Следуйте за мастером, и все готово.

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

В SQL:

в командной строке (я упростил пути к файлам для этого примера):

В SQL снова:

оказывается, что я пытался восстановить из резервной копии неправильно.

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

короче говоря, восстановление из резервной копии сделало трюк.

Спасибо за все отзывы и предложения ребята

это скрипт, который я использую. Немного сложно, но это работает. Протестировано на SQL Server 2012.

  1. во-первых, создать .sql файл, содержащий только структуру исходной БД

    • щелкните правой кнопкой мыши на БД, а потом задачи затем Сформировать Сценарии
    • следуйте указаниям Мастера и сохранить локально
  2. во-вторых, замените исходную БД на целевую в .sql file

    • щелкните правой кнопкой мыши на файл назначения, выберите Новый Запрос и Ctrl-H или (Editнайти и заменитьбыстрая замена)
  3. наконец, заполнить данными

    • Правой Кнопкой Мыши на целевой БД, затем выберите задачи и Импорт Данных
    • выпадающий список источник данных установлен в «поставщик данных .net framework для SQL server » + установите текстовое поле строки подключения в разделе Data ex: Data Source=Mehdi\SQLEXPRESS;Initial Catalog=db_test;User >
    • сделать то же самое с пунктом
    • проверьте таблицу, которую вы хотите передать или установите флажок, кроме » источник: . — чтобы проверить их всех

в SQL Server 2008 R2 создайте резервную копию базы данных в виде файла в папке. Затем выберите опцию восстановления, которая появляется в папке» база данных». В Мастере введите новое имя, которое требуется в целевой базе данных. И выберите Восстановить frrom файл и использовать файл, который вы только что создали. Я jsut сделал это, и это было очень быстро (мой DB был небольшим, но все же) Пабло.

ни одно из упомянутых здесь решений не работало для меня — я использую SQL Server Management Studio 2014.

вместо этого мне пришлось снять флажок «Take tail-log backup before restore» на экране «параметры»: в моей версии он установлен по умолчанию и предотвращает завершение операции восстановления. После снятия флажка операция восстановления продолжалась без проблем.

enter image description here

если база данных не очень велика, вы можете посмотреть на команды «Script Database» в SQL Server Management Studio Express, которые находятся в контекстном меню самого элемента базы данных в проводнике.

вы можете выбрать, что все для сценария; вы хотите объекты и данные, конечно. Затем вы сохраните весь сценарий в один файл. Затем вы можете использовать этот файл для повторного создания базы данных; просто убедитесь, что USE команда в верхней части установлена на правильный база данных.

еще один способ, который делает трюк с помощью мастер импорта/экспорта, выберите источник-это ваш сервер с исходной базой данных, а затем в пункте назначения выберите тот же сервер с целевой базой данных (вам нужно сначала создать пустую базу данных), затем нажмите Готово

Он будет создавать все таблицы и перенести все данные в новую базу данных,

решение, основанное на этом комментарии:https://stackoverflow.com/a/22409447/2399045 . Просто установите настройки: имя БД, папка temp, папка db files. А после запуска у вас будет копия БД с именем в формате «sourceDBName_yyyy-mm-dd».

  1. запустите Managment Studio от имени учетной записи администратора.
  1. настройка sql server для выполнения xp_cmdshel
  1. запустите скрипт, но введите имена БД в @dbName и @copyDBName переменные перед.

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

Как скопировать бд в sql server

Всем привет, необходимо скопировать базу данных с рабочего сервера на другой. Чтобы рабочий продолжал работать, а на другом сервере запускать аналитику. Сделали обычный бекап по расписанию в папку, подключаем эту папку как устройство на другом сервере и оттуда делаем restore. Вручную работает, но не удается создать job для restore.

Когда делаешь вручную Database->Tasks->Restore->Database, выбираешь устройство, в опциях ставишь галку "overwrite. " и убираешь "Take tail-log backup. ", жмешь ОК — все супер.

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

Спасибо за ответы.

Ответы

проблема в том, что вы восстанавливаете старую версию БД.

указывайте явно тот файл в котором нужная версия

  • Помечено в качестве ответа Vadymk 14 сентября 2016 г. 12:21

Все ответы

USE [master]
RESTORE DATABASE [LittleHouse] FROM [LittleHouse] WITH FILE = 4, MOVE N’LittleHouse’ TO N’E:\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\LittleHouse.mdf’, MOVE N’LittleHouse_log’ TO N’E:\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\LittleHouse_log.ldf’, NOUNLOAD, REPLACE, STATS = 5

под sa а как посмотреть? правда я себя поставил владельцем в заданиях

WITH FILE = 4

Это 4-ый резервный набор данных, который со временем может устареть.

http://www.t-sql.ru

WITH FILE = 4

Это 4-ый резервный набор данных, который со временем может устареть.

http://www.t-sql.ru

как правильно?

Необходимо указывать явно какой набор данных или файл вам необходимо использовать для разворачивания БД. Т.к. при резервном копировании в один и тот же набор данных вы ДОПИСЫВАЕТЕ каждый раз новый файл с данными.

Например через [msdb].[dbo].[backupmediafamily] вы можете явно увидеть сколько файлов + RESTORE LABELONLY

Как скопировать бд в sql server

Как создать код для создания структуры имеющейся таблицы

Существует несколько способов копирования таблицы в базе данных MS SQL Server. Предлагаю несколько вариантов создания копии таблиц. Какой из них выбрать – зависит от структуры таблицы, наличия в ней индексов, триггеров и т.п., а также желания делать что-то руками.

1. Ручной метод копирования структуры таблицы

В Micrisoft SQL Management Studio выбрать базу, выбрать таблицу, нажать правой кнопкой мыши и выбрать пункты «Script Table as» -> «CREATE TO» -> «New Query Editor Window». В окне запроса откроется код для создания таблицы. В нем нужно указать имя базы, в которой нужно сделать копию таблицы, и новое имя, если база не меняется. Как создать код для создания структуры имеющейся таблицы, показано на рисунке ниже.

Как создать код для создания структуры имеющейся таблицы

Как создать код для создания структуры имеющейся таблицы

С помощью этого способа будут созданы индексы таблицы, но не скопируются триггеры. Их нужно копировать аналогичным способом.

Для копирования данных в уже созданную таблицу нужно использовать такой SQL запрос:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *