Отсоединение и Присоединение баз данных в MS SQL Server 2012. Выполнить транслит в бд ms sql
IT Crowd | IT Crowd
Оценка: 100% - 3 Голосов
x
Рассинхронизация времени в домене серьезная ошибка, влекущая за собой много непонятных проблем у пользователей. Данный скрипт поможет следить за тем, чтобы время на узлах домена совпадало с временем на домен-контроллере.
Подробнее...
Оценка: 98.83% - 6 Голосов
x
Небольшой скрипт на PowerShell для удаления писем во всех почтовых ящиках, зарегистрированных в Exchange по определенному отправителю.
Подробнее...
Оценка: 97.4% - 5 Голосов
x
Небольшая шпаргалка по настройке Cisco ASA Failover в режиме Active/Standby failover с версией 9.x.
Подробнее...
Оценка: 99.2% - 5 Голосов
x
В данной статье будет рассмотрена настройка плагина check_mssql_health для мониторинга баз данных в MS SQL Server.
Подробнее...
Оценка: 99.2% - 5 Голосов
x
Небольшие запросы для поиска любого числа или текста в нужной базе данных MS SQL.
Подробнее...
itcrowd.top
Отсоединение и присоединение баз данных в MS SQL Server | Info-Comp.ru
В Microsoft SQL Server есть возможность отсоединять и присоединять базы данных и сегодня мы с Вами поговорим о том, в каких случаях эта возможность будет нам полезна и, конечно же, рассмотрим примеры реализации данной возможности, причем разными способами.
Итак, давайте начнем с того, для чего же администратору баз данных может потребоваться отсоединить базу данных, а затем снова присоединить.
Первое это, конечно же, для перемещения базы на другой экземпляр SQL Server он может располагаться как на этом же компьютере, так и на другом (или просто для перемещения базы данных на другой физический жесткий диск, например, свободное место на диске заканчивается).
Второе это, например, тогда когда сервер вышел из строя, но файлы базы данных и журналов транзакций в порядке и необходимо эти файлы восстановить, т.е. присоединить к новому экземпляру SQL Server на новом сервере.
Вы можете найти и другое применение данной возможности, но перечисленные выше ситуации, особенно первая, самые распространённые.
Отсоединение баз данных в MS 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.
Синтаксис:
sp_detach_db @dbname = 'database_name', @skipchecks = 'skipchecks', @keepfulltextindexfile = 'KeepFulltextIndexFile'Пример. Допустим, у нас есть база данных TestBase, и возникла необходимость ее отсоединить, для этого мы пишем следующую SQL инструкцию:
Отсоединение базы данных с помощью Management Studio
Для того чтобы отсоединить базу данных необходимо в обозревателе объектов раскрыть список «Базы данных» и по нужной базе щелкнуть правой кнопкой мыши и нажать «Задачи ->Отсоединить»
И для того чтобы получить точно такой же результат, как и в примере выше жмем сразу «ОК»
Примечание! Как в первом примере, так и во втором не забываем про монопольный доступ, его можно получить, например, установив параметр базы данных «Ограничение доступа» в 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, которую выше мы отсоединили.
CREATE DATABASE [TestBase] ON (FILENAME = N'C:\TestBase.mdf'), (FILENAME = N'C:\TestBase_log.ldf') FOR ATTACH GOКак Вы понимаете C:\TestBase.mdf и C:\TestBase_log.ldf это пути к файлам базы данных.
Присоединение базы данных с помощью Management Studio
В Management Studio присоединение делается следующим образом, в обозревателе объектов щёлкните правой кнопкой мыши по пункту «Базы данных» и нажмите «Присоединить»
Затем через кнопку «Добавить» выбираем файл базы данных (MDF-файл) и жмем «ОК»
Примечание! Если выбрать базу данных, которая уже присоединена, возникнет ошибка.
Присоединение базы данных с помощью процедуры sp_attach_db
sp_attach_db – системная хранимая процедура, которая присоединяет базы данных к экземпляру SQL сервера. Как было уже сказано выше, ее не рекомендуют использовать в новых разработках. Первым параметром передается имя базы данных присоединяемой к серверу, оно должно быть уникальным. Вторым и далее (до 16) передаются пути к файлам базы данных.
Синтаксис:
sp_attach_db @dbname = 'dbname', @filename1 = 'filename_n', [...16]Пример:
exec sp_attach_db @dbname = 'TestBase', @filename1 = N'C:\TestBase.mdf', @filename2 = N'C:\TestBase_log.ldf'Примечание! В случае если Вам необходимо присоединить более 16 файлов, то нужно использовать CREATE DATABASE database_name FOR ATTACH.
На этом у меня все, надеюсь, материал был Вам полезен, удачи!
Похожие статьи:
info-comp.ru
Отсоединение и Присоединение баз данных в MS SQL Server 2012
В ситуации когда необходимо перенести базу данных SQL с одного экземпляра MS SQL Server на другой, или изменить каталог хранения файлов базы данных, помогут операции отсоединения (Detach) и присоединения (Attach) баз данных MS SQL Server. Об этих операциях в MS SQL Server 2012 (справедливо и для более ранних редакций MS SQL Server) и пойдет речь в данной статье.
0. Оглавление
- Отсоединение базы данных в MS SQL Server 2012
- Присоединение базы данных в MS SQL Server 2012
1. Отсоединение базы данных в MS SQL Server 2012
Запускаем программу «SQL Server Management Studio». В Microsoft Windows Server 2012 R2 ее можно найти в списке всех программ.
В Microsoft Windows Server 2008 R2 в меню «Пуск» (Start) — «Microsoft SQL Server 2012» — «Среда SQL Server Management Studio».
Вводим имя сервера, данные для авторизации и нажимаем «Соединить» (Connect).
В обозревателе объектов (Odject Explorer) раскрываем вкладку «Базы данных» (Databases), кликаем правой кнопкой мыши по базе данных, которую необходимо отсоединить, и в контекстном меню выбираем «Задачи» (Tasks) — «Отсоединить…» (Detach…).
В появившемся окне отсоединения базы данных возможно очистить существующие соединения с базой установив флаг «Удалить соединения» (Drop Connections) (не рекомендуется, правильно будет попросить пользователей закрыть клиентские программы), а также обновить статистику для базы данных отметив соответственно флаг «Обновить статистику» (Update Statistics). Выбрав необходимые операции нажимаем «ОК».
После чего выбранная база данных исчезнет из списка баз данных экземпляра MS SQL Server.
Но файлы базы данных останутся на жестком диске в том каталоге, где они находились до отсоединения базы данных.
2. Присоединение базы данных в MS SQL Server 2012
После отсоединения базы с одного экземпляра MS SQL Server, перенесем файлы базы данных (по умолчанию — файл данных с расширением .mdf и файл журнала транзакций с расширением .ldf) на другой сервер с установленным MS SQL Server, или переместим эти файлы в другою директорию на этом же сервере. Затем снова подключимся к SQL серверу на который необходимо перенести базу данных с помощью программы «SQL Server Management Studio». В обозревателе объектов (Object Explorer) кликнем правой кнопкой мыши по вкладке «Базы данных» (Databases) и в контекстном меню выберем «Присоединить…» (Attach…)
В запустившемся окне присоединения базы данных, с помощью кнопки «Добавить…» (Add…) выберем файл данных с расширением .mdf (или файлы, если их несколько) нашей базы данных из каталога их нового расположения. В таблице сведений (Database details) мастер должен определить расположение файла данных, а также найти соответствующий файл журнала транзакций с расширением .ldf. Если все необходимые файлы определились мастером успешно, нажимаем «ОК» для запуска процесса присоединения базы.
После чего, наша база данных появится в списке баз данных конечного экземпляра MS SQL Server.
Смотрите также:
- Удаление компонент MS SQL Server 2012
Может случиться так, что в процессе установки MS SQL Server 2012 были установлены компоненты, необходимость в которых со временем отпала (или были установлены по ошибке). В этом случае, в целях…
- Лицензирование MS SQL Server 2012
В данной статье будут рассмотрены способы лицензирования Microsoft SQL Server 2012. Будет приведен краткий обзор каждого из способов лицензирования, а также указаны возможные варианты лицензирования для различных выпусков MS SQL Server…
- Редакции MS SQL Server 2012
Ниже приводится список существующих редакций Microsoft SQL Server 2012, а также приводится краткий обзор каждой из них. Microsoft SQL Server 2012 предлагается в нескольких специально разработанных редакциях:…
tavalik.ru
sql - как получить данные из базы данных SQL в Word 2010?
Я хотел бы заполнить документ Word данными из нашей базы данных MS SQL.
Возможно ли это, и если да, то как?
задан jorrebor 02 апр. '12 в 9:54 источник поделитьсяВ прошлом я делал это разными способами. Это зависит от того, инициирует ли пользователь действие из OUTSIDE Microsoft Word или из INSIDE Microsoft Word.
В ВНУТРИ Microsoft Word вы можете использовать один из следующих методов:
- Откройте шаблон с заполнителями и используйте VBA или VSTO, чтобы перебирать их, используя источник данных, используя копию и вставку. Обратите внимание, что здесь также есть и преступление. Этот подход напоминает подход 1 ниже с "ВНЕШНИМ". Недостаток в том, что он относительно медленный (копирование и вставка) и автокоррекция Microsoft Word любит пинать, когда наименее необходимо.
- Откройте шаблон с заполнителями и используйте VBA или VSTO для анализа XML-представления, а затем замените их. Это быстрее, но труднее писать. Тем более, что представление XML может содержать фрагменты XML в заполнителях (например, "&lt;&lt;PUT_<xxx/>IT_HERE&gt;&gt;" и более сложные случаи). Кроме того, вам необходимо убедиться, что вы сохранили действительный XML-документ и хорошо сбалансированы.
В ВНЕШНЕМ Microsoft Word (например, веб-интерфейс) вы можете использовать один из следующих способов:
- Храните шаблон где-нибудь, используя RTF (который намного проще обрабатывать, чем собственная структура Word). Поместите '<<PLACEHOLDER-FOR-NAME>>' или аналогичные легко узнаваемые тексты, где вы хотите их заменить. Когда пользователь запрашивает документ Word, извлекает RTF, извлекает данные, заменяет заполнители, RTF сервера пользователю. RTF имеет некоторые ограничения, но некоторые преимущества. Преимущества: простота создания новых шаблонов, а также работает с Microsoft Wordpad и другими пакетами Office. Недостатки в том, что таблицы являются реальными беспорядками для обработки и что не все конструкции Microsoft Word возможны. Повторение строк в таблице еще менее рекомендуется. Проблема с большим объемом.
- Используйте пакет отчетов, который также выводит документы docx, doc или RTF. Написать отчет. В целом идеально подходит для большого объема. Менее подходит, если вы хотите, чтобы конечный пользователь набирал большое количество дополнительного текста, поскольку пакеты отчетов обычно работают на основе страниц вместо этого в тексте, где иногда вставляется явный или неявный разрыв страницы. Но если вам нужен только конечный пользователь, чтобы ввести одно или два предложения, достаточно.
- Fat-клиент. Поместите данные SQL где-нибудь. Откройте Word. Прочтите данные и ознакомьтесь с дополнительными методами для INSIDE Microsoft Word.
Если вам нужно заполнить документ Word из SQL Server (или любой другой базы данных или платформы данных), я могу предложить бесплатную версию Invantive Composition для заполнения Документы Word из базы данных (обратите внимание, что я был связан с этим продуктом). Он открывает шаблоны и объединяет их из Word, но более ориентирован на не-разработчиков; просто укажите шаблон и блоки данных (возможно, вложенные) и опубликуйте. Разработчики могут добавлять только С# в плагины. Я думаю, что это хороший продукт, когда у вас много шаблонов (более 50), потому что он легче масштабируется.
источник поделитьсяВы также можете попробовать использовать MS-Excel, поскольку он связывается с XML лучше, чем Word. Легко также заставить Excel генерировать вывод в стиле "Word".
ответ дан anonymous 31 янв. '14 в 15:13 источник поделитьсяqaru.site
Как подключиться к базе данных в редакторе Transact-SQL
Эта документация перемещена в архив и не поддерживается.
Для выполнения скриптов и запросов необходимо подключиться к базе данных. Подключение можно выполнить при запуске редактора Transact-SQL. При отключении от базы данных можно выполнить повторное подключение к ней. В обоих случаях процесс является аналогичным. Отличие заключается в том, что либо диалоговое окно Подключение к компоненту Database Engine отображается автоматически, либо для его отображения необходимо выполнить определенное действие.
Соединение с базой данных в редакторе Transact-SQL
-
В меню Данные перейдите в пункт Редактор Тransact-SQL, затем в пункт Соединение и выберите пункт Соединить. Можно также нажать кнопку Соединить на панели инструментов редактора Transact-SQL. Откроется диалоговое окно Подключение к компоненту Database Engine.
-
В поле Имя сервера введите имя экземпляра компонента SQL Server.
-
В поле Проверка подлинности выберите Проверка подлинности Windows или Проверка подлинности SQL Server.
-
Чтобы использовать учетные данные Microsoft Windows для входа на сервер, выберите Проверка подлинности Windows.
-
Чтобы использовать проверку подлинности SQL Server для входа на сервер, выберите Проверка подлинности SQL Server и введите имя пользователя и пароль в поля Имя пользователя и Пароль.
-
-
Дополнительные параметры соединения можно просмотреть, нажав кнопку Параметры. Дополнительные сведения об этих параметрах см. в разделе Подключение к серверному компоненту Database Enginе (страница свойств соединения).
-
Нажмите Подключить. Соединение устанавливается с сервером и указанной базой данных.
Необходимо иметь соответствующие разрешения для доступа на сервер, с которым устанавливается соединение. В противном случае при попытке соединения возникает ошибка. Дополнительные сведения о настройке соответствующих разрешений см. в разделе Занятие 2. Настройка разрешений на объектах базы данных.
Задания
Другие ресурсы
msdn.microsoft.com
Пример создания запроса в MS SQL Server
Пример создания запроса (Query) в базе данных MS SQL Server. База данных размещена в локальном файле *.mdf
Содержание
Условие задачи
Задана база данных, которая размещается в файле Education.mdf. База данных содержит две связанные между собою таблицы Student и Session.
Таблицы связаны между собою за полем ID_Book.
Используя средства Microsoft Visual Studio создать запрос с именем Query1, который будет иметь следующую структуру:
Название поля | Таблица |
Num_Book | Student |
Name | Student |
Mathematics | Session |
Informatics | Session |
Philosophy | Session |
Average | Вычислительное поле |
Выполнение (пошаговая инструкция)
1. Загрузить Microsoft Visual Studio
2. Подключить базу данных Education.mdf к перечню баз данных утилиты Server Explorer
Чтобы не тратить время на разработку и связывание таблиц базы данных Education.mdf, архив ранее подготовленной базы данных можно загрузить здесь. После загрузки и сохранения в некоторой папке, базу данных нужно разархивировать и подключить к перечню баз данных утилиты Server Explorer.
Подключение базы данных реализуется одним из нескольких стандартных способов:
- выбором команды «Connect to Database…» с меню Tools;
- выбором кнопки (команды) «Connect to Database…» из утилиты Server Explorer.
В результате, откроется окно мастера, в котором с помощью нескольких шагов (окон) нужно настроить подключение базы данных.
Рис. 1. Способы добавления/подключения базы данных
Подробное описание того, как осуществляется подключение базы данных типа Microsoft SQL Server в Microsoft Visual Studio, приведено в теме:
После подключения, окно утилиты Server Explorer будет выглядеть как показано на рисунке 2.
Рис. 2. Утилита Server Explorer с подключенной базой данных Education.mdf
3. Добавление нового запроса. Команда «New Query»
К базе данных можно создавать запросы. В нашем случае нужно создать запрос в соответствии с условием задачи.
Запрос создается с помощью команды «New Query», которая вызовется из контекстного меню (рисунок 3). Чтобы вызвать команду, достаточно сделать клик правой кнопкой мышки в области поля, которое выделено для отображения элементов базы данных Education.mdb. Следует отметить, что запросы не сохраняются системой. Для отображения сохраненных (сложных) запросов используется представление (Views).
На рисунке 3 отображено контекстное меню, которое вызывается при нажатии на вкладке Views (представление). В этом меню нужно выбрать команду «New Query». Эта команда есть в перечне контекстных меню других составляющих базы данных (таблиц, диаграмм и т.п.).
Рис. 3. Команда New Query
В результате откроется окно «Add Table», в котором нужно выбрать таблицы, данные из которых будут использоваться в запросе (рисунок 4).
Рис. 4. Выбор таблиц, которые будут использоваться в запросе
Для нашего случая нужно выбрать обе таблицы.
В результате окно Microsoft Visual Studio будет выглядеть, как показано на рисунке 5.
Рис. 5. Окно MS Visual Studio после создания запроса
В таблицах нужно выделить поля, которые будут использоваться в запросе. Порядок выбора полей должен соответствовать отображению их в запросе в соответствии с условием задачи. Это означает, что сначала выбираются поля таблицы Student (NumBook, Name), а потом выбираются поля таблицы Session (Mathematics, Informatics, Philosophy).
Для нашего случая выбор полей изображен на рисунке 6.
Рис. 6. Выбор полей для запроса
Как видно из рисунка 6, в нижней части окна отображается запрос на языке SQL, сформированный системой
SELECT Student.Num_Book, Student.Name, Session.Mathematics, Session.Informatics, Session.Philosophy FROM Session INNER JOIN Student ON Session.ID_Book = Student.ID_Book
4. Добавление вычисляемого поля Average
Чтобы создать вычисляемое поле Average, нужно в окне, где отображается SQL-запрос изменить текст этого запроса. Например:
SELECT Student.Num_Book, Student.Name, Session.Mathematics, Session.Informatics, Session.Philosophy, (Session.Mathematics + Session.Informatics + Session.Philosophy) / 3.0 AS Average FROM Session INNER JOIN Student ON Session.ID_Book = Student.ID_BookДобавляется вычислительное поле Average, которое есть средним арифметическим (рисунок 7).
Рис. 7. Добавление вычисляемого поля Average
5. Запуск запроса на выполнение. Команда «Execute SQL»
Чтобы запустить на выполнение запрос, используется кнопка «Execute SQL» (рисунок 8).
В нижней части окна на рисунке 8 изображен результат выполнения запроса.
Рис. 8. Кнопка «Execute SQL» запуска запроса на выполнение и результат выполнения запроса
Другой способ запуска запроса на выполнение – команда «Execute SQL» из меню «Query Designer».
Связанные темы
www.bestprog.net