Как отключить базу 1с в sql
Перейти к содержимому

Как отключить базу 1с в sql

  • автор:

ОТКЛЮЧЕНИЕ И ПОДКЛЮЧЕНИЕ БАЗЫ ДАННЫХ В SQL SERVER MANAGEMENT STUDIO

SQL-сервер позволяет подключать несколько баз данных, можно использовать одну рабочую, а одну тестовую или временно подключить другую базу данных, чтобы в будущем перенести из неё информацию в главную БД. Когда необходимость в какой-то БД отпадает, её нужно отключать.

Процедура отключения и подключения БД происходит только с помощью специальной программы Management Studio (если это 2000-ый сервер, то подключать можно ещё с помощью программы Attach, см. соответсвующий блог), которую Вам нужно установить, если есть необходимость оперировать с БД. Процесс установки и настройки есть в документации, которую можно загрузить по адресу (глава 2- Установка MS SQL Server Management Studio 2008).

Для отключения или подключения БД необходимо войти под паролем и логином в среду Microsoft SQL Server Management Studio. Так же нужно учитывать, что для отображения подключенных БД в SQL Server 2000 – в поле «Имя сервера» вводим только имя компьютера, а для SQL Server 2005 и SQL Server 2008 в поле «Имя сервера» — имя компьютера и имя екземпляра.

Открыть рисунок

Откроется окно «Среда Microsoft SQL Server Management Studio».

В области «Обозреватель объектов» в ветке «Базы данных» выбираем БД, которую нужно отключить и через контекстное меню «Задачи» -> «Отсоединить» отсоединяем желаемую базу. Нужно учесть, что база не удаляется, она просто отключается от SQL-сервера.

Открыть рисунок

Процедура подключения БД происходит через тоже окно, что и отключение. После того, как мы вошли в окно «Среда Microsoft SQL Server Management Studio» под паролем и логином, станьте на ветку «Базы данных», через контекстное меню выбираем пункт «Присоединить. ».

Открыть рисунок

В появившемся окне указываем местоположение БД, которую нужно присоединить.

Открыть рисунок

Открыть рисунок

В последнем окне видна информация о присоединяемой БД: местоположение БД и название. И нажимаем «Ок» — в результате чего наша база отобразится в «Обозреватели объектов» в директории «Базы данных».

В конечном результате при загрузке GIS 6 и запросе на соединение с базой данных в поле «Базы данных» в ниспадающем списке отобразится наша подсоединённая БД.

Как удалить базу 1с вместе с файлом из интерфейса 1с?

Ну базу допустим с диска и sql можно удалить запросом, через SQL менеджер.
Думаю что можно это и скриптом как то сделать.
Запуск скрипта можно настроить через интерфейс 1с и туда же как-нибудь параметры с названием базы передавать. Не?

Хотя ИМХО конечно бред полный.

(26) Ваша проблема из серии «Чего только не придумают эти русские, чтобы дороги не строить.»

Актуальный список баз нужно вести — просто и эффективно.

(0) Можно(нужно!) не плодить бесконечно новые базы, а использовать «ненужные» старые. Намекаю на Загрузить/выгрузить ИБ 🙂

Если ваши работники спецы — то они это всё должны уметь делать 🙂

Например, используя только один конфигуратор и ничего более, можно спокойно базу «очистить» от всех данных, оставив только актуальную конфигурацию. «А вам — слабо»(с)

Attach и Detach базы в MS SQL

Как присоединить или отсоединить базу данных в MS SQL, другими словами выполнить Attach и Detach.

Если Вы уже какое-то время администрируете MS SQL, то скорее всего слышали такой термин как «Приаттачить» базу или сделать ее «Деттач» / «Аттач»

Конечно, данная тема также подымается и на курсе: Администратор 1С!

Операция действительно используется довольно часто для переноса базы, к примеру, на другой сервер или экземпляр MS SQL.

И действительно, ведь чтоб перенести базу, достаточно ее просто отсоединить (выполнить Detach) и затем на новом сервере СУБД присоединить (выполнив Attach). Быстро и удобно!

Конечно, Attach и Detach базы можно использовать и в ряде других случаев, к примеру, мы хотим просто перенести лог (*ldf файл журнала транзакций) на другой диск, или вместе с базой, и здесь нам также поможет команда «Деттач» и «Аттач». Иногда даже для бэкапа файлов *ldf и *mdf ее используют, конечно, это не есть хорошо, но также верный способ позволяющий скопировать файлы.

К слову если сервер СУБД работает, плюс база «Онлайн» тогда если предварительно не сделать Detach, или не перевести базу в offline (так называемый автономный режим), скопировать лог или базу мы не сможем, получим ошибку что файл используется!

В теории разобрались, приступим к практике.

Давайте представим ситуацию, что место на диске, где у нас лежит лог файл *ldf закончилось, и возникла задача по его переносу на другой диск.

Собственно чем мы сейчас и займемся!

И так все действия мы будем проводить в Management Studio.

Находим интересующую базу, затем правый клик мышкой – «Задачи» – «Отсоединить»

Attach и Detach базы в MS SQL

(В eng версии вместо «Отсоединить» будет «Detach»).

Затем в окне отсоединения базы следует поставить птичку «Удалить соединения».

ВАЖНО! Если с базой работают пользователи (к примеру в 1С Предприятии), есть активные соединения, тогда Вы без их завершения не сможете выполнить отсоединение базы!

Как видно на скрине выше, активных соединений нет, но птичку тем не менее поставить нужно, вдруг в момент отсоединения кто-то вздумает запустить 1С Предприятие.

Конечно в любом случаи при выполнении «Detach» базы, пользователей предварительно нужно уведомить о том что база будет недоступна кокой-то промежуток времени (Если с ней работают).

Ставить птичку возле “Обновить статистику” не рекомендую, иначе могут возникнуть на этом этапе различные ошибки, такие как перевод базы в “single user”, бывает что даже зависает Management Studio (.

После успешного отсоединения базы она исчезает из списка “Обозревателя объектов” (Но не из диска, там все файлы будут на месте и mdf и ldf) как на рисунке ниже.

Вот мы и смогли выполнить первую часть работы, отсоединили базу, сделали ее «Detach».

Теперь мы уже можем скопировать наш лог файл на другой диск (Рис. ниже):

И приступаем ко второму шагу по присоединению базы или как его еще называют “Приаттачим” базу используя все тот же Managmant Studio.

На “базах” правый клик мышкой и выбираем “Присоединить” / Attach.

Затем в окне “Присоединения базы” клик по кнопке “Добавить”

Сперва укажем расположение файла mdf (база). У меня это диск E:\DATA\BUHG1C.mdf

После того как мы кликнем по кнопке “ОК” увидим в окне ниже что MS SQL предполагает, что расположение файла лога соответствует расположению базы mdf, но конечно, лога по указанному месту уже нет, мы его переместили на другой диск, и теперь его следует указать вручную!

Укажем новое расположение лога кликнув по кнопке “…”

Убедившись что новое расположение лога указанно верно, можно кликнуть по кнопке “ОК”.

ВНИМАНИЕ! Если получили ошибку (рис. ниже)

Тогда скорее всего Вы пытаетесь выполнить данную операцию под пользователем (рутом) “SA”.

Все что нужно сделать, так это выполнить данную операцию от Администратора Windows (Если установили смешанный режим проверки подлинности, еще на этапе установки самого MS SQL).

Просто выбираем “Проверка подлинности Windows” при старте Managmant Studio.

И повторим действия с присоединением базы.

В случаи успеха, база вновь появится в списке баз обозревателя объектов! (Как на рисунке ниже).

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

Отсоединение и присоединение баз данных в Microsoft SQL Server (Detach и Attach)

В Microsoft SQL Server есть возможность отсоединять и присоединять базы данных, и сегодня мы с Вами поговорим о том, в каких случаях эта возможность будет нам полезна и, конечно же, рассмотрим примеры реализации данной возможности, причем разными способами.

Отсоединение и присоединение баз данных в MS SQL Server

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

Первое — это, конечно же, для перемещения базы на другой экземпляр SQL Server, он может располагаться как на этом же компьютере, так и на другом (или просто для перемещения базы данных на другой физический жесткий диск, например, свободное место на диске заканчивается).

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

Вы можете найти и другое применение данной возможности, но перечисленные выше ситуации, особенно первая, самые распространённые.

Отсоединение баз данных в Microsoft SQL Server

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

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

Отсоединить базу данных можно разными способами, например, на языке T-SQL, т.е. используя процедуру sp_detach_db или также можно воспользоваться графическим инструментом, т.е. SQL Server Management Studio. Мы с Вами разберем оба способа.

Примечание! Все примеры ниже будут рассмотрены на Microsoft SQL Server 2008 R2.

Отсоединение базы данных с помощью sp_detach_db

sp_detach_db – системная хранимая процедура, которая отсоединяет базу данных от экземпляра SQL сервера, а также может выполнить инструкцию UPDATE STATISTICS для всех таблиц перед отключением.

В качестве первого параметра она принимает имя базы данных, в качестве второго TRUE/FALSE (в виде текста), по умолчанию TRUE, т.е. это означает — не выполнять инструкцию UPDATE STATISTICS. Еще есть и третий параметр, который указывает, удалять или не удалять полнотекстовый индексный файл, связанный с отключаемой базой данных, по умолчанию TRUE, т.е. это означает — что метаданные, связанные с полнотекстовыми данными, сохраняются. Но этот параметр в новых версиях будет удален, честно говоря, не проверял на последних версиях, но разработчики SQL сервера не рекомендуют использовать этот параметр, уже начиная с версии 2008 R2.

Пример. Допустим, у нас есть база данных TestBase, и возникла необходимость ее отсоединить, для этого мы пишем следующую SQL инструкцию:

Скриншот 1

Отсоединение базы данных с помощью Management Studio

Для того чтобы отсоединить базу данных необходимо в обозревателе объектов раскрыть список «Базы данных» и по нужной базе щелкнуть правой кнопкой мыши и нажать «Задачи ->Отсоединить»

Скриншот 2

И для того чтобы получить точно такой же результат, как и в примере выше жмем сразу «ОК»

Скриншот 3

Примечание! Как в первом примере, так и во втором не забываем про монопольный доступ, его можно получить, например, установив параметр базы данных «Ограничение доступа» в SINGLE_USER.

Присоединение баз данных в MS SQL Server

Для того чтобы присоединить базу данных, необходимы соответственно файлы этой базы данных, т.е. mdf, ldf. В случаях если журналы транзакций, т.е. файлы ldf не указаны, то они будут перестроены, но только в том случае если присоединяемая база данных доступна как для чтения, так и для записи. Если база данных была закрыта аварийно, при этом в ней работали пользователи и были открытые транзакции, то файлы журнала транзакций лучше указывать. Присоединять базы данных, полученные из неизвестных источников, не рекомендуется.

Также как и при отсоединении присоединить базу данных можно несколькими способами, мы рассмотри три: это с помощью конструкции CREATE DATABASE, с помощью Management Studio, а также рассмотрим пример присоединения базы данных с использованием процедуры sp_attach_db.

Примечание! В документации указано, что возможность присоединять базы данных с помощью процедуры sp_attach_db в будущих версиях SQL сервера будет удалена, поэтому ее не рекомендуют использовать в новых разработках, в SQL Server 2008 R2 эта возможность ещё есть.

Присоединение базы данных с помощью CREATE DATABASE

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

Давайте с помощью конструкции CREATE DATABASE присоединим обратно базу TestBase, которую выше мы отсоединили.

Скриншот 4

Как Вы понимаете C:\TestBase.mdf и C:\TestBase_log.ldf — это пути к файлам базы данных.

Присоединение базы данных с помощью Management Studio

В Management Studio присоединение делается следующим образом, в обозревателе объектов щёлкните правой кнопкой мыши по пункту «Базы данных» и нажмите «Присоединить»

Скриншот 5

Затем через кнопку «Добавить» выбираем файл базы данных (MDF-файл) и жмем «ОК».

Скриншот 6

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

Присоединение базы данных с помощью процедуры sp_attach_db

sp_attach_db – системная хранимая процедура, которая присоединяет базы данных к экземпляру SQL сервера. Как было уже сказано выше, ее не рекомендуют использовать в новых разработках. Первым параметром передается имя базы данных присоединяемой к серверу, оно должно быть уникальным. Вторым и далее (до 16) передаются пути к файлам базы данных.

Скриншот 7

Примечание! В случае если Вам необходимо присоединить более 16 файлов, то нужно использовать CREATE DATABASE database_name FOR ATTACH.

Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.

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

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