Отсоединение и присоединение баз данных в microsoft sql server (detach и attach)

Шаг 3. Настройка рабочих баз данных Ms SQL

Если база еще не развернута из .dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать больший или равный размеру базы, но это дело вкуса, он все равно вырастет при развертке до нужных размеров. А вот Автоувеличение (Autogrowth) размера надо обязательно указать примерно по 200 МБ на базу и по 50 МБ на лог (можно увеличить/уменьшить, в зависимости от размера конечной базы и наличия места на диске), т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. В этом же параметре можно ограничить размер файла лога, чтоб сильно не разрастался, хотя это очень спорный параметр…

Остальные параметры можно оставить по умолчанию, за исключением некоторых:

Например, параметр AutoShrink советуют отключить, ибо он приводит к постоянным скачкам размера лога. Лучше его держать в узде с помощью Планов обслуживания (они же Регламентные задания, они же Maintenance Plans).

Шаг 2. Настройка сервера Microsoft SQL 2005

2.1. Настройка протоколов подключения

Для настройки протоколов взаимодействия сервера и клиента Microsoft SQL необходимо запустить «SQL Server Configuration Manager»:

…и  оставить для работы только протоколы TCP/IP и Shared Memory:

Если устанавливается версия MS SQL Express по-умолчанию выключен протокол TCP/IP, нужный для работы с 1С:Предприятие 8 — его необходимо включить. Протокол именнованных каналов (Named Pipe) выключите совсем (и для «клиента» тоже на сервере приложений).

2.2. Перенос tempdb на быстрый независимый массив/диски

Для переноса tempdb необходимо запустить  sql-скрипт примерно следующего содержания:

USE master
GO
ALTER DATABASE tempdb
modify file (NAME=tempdev, FILENAME='E:\Temp\tempdb_data.mdf')
GO
ALTER DATABASE tempdb
modify file (NAME=templog, FILENAME='E:\Temp\tempdb_log.ldf')
GO

где, E:\Temp\ — каталог, в котором будут лежать tempdb, а tempdb_data.mdf и tempdb_log.ldf имя файла базы данных и лога соответственно.

2.3. Настройка параметров сервера SQL

Для настройки сервера запускаем «SQL Server Management Studio», подключаемся к установленному серверу Database Engine’ом и открываем свойства (Server Properties). Тут нам нужно настроить 3 пункта:

Память (Memory)

Параметр «Maximum server memory (in MB)» задает максимально отведенное серверу количество памяти из расчета: – – . Например, если у нас на сервере всего 24 ГБ оперативной памяти, стоит Windows 2003 и запущен сервер 1С Предприятия с 2мя процессами rphost (которым нужна память хотябы по 1,5Гб) то рассчет будет следующим: 24 — 1,5 — 1,5*2 = 19,5 ГБ ставит параметр «Maximum server memory (in MB)». Это необходимо для того, чтобы sql-сервер рассчитывал на заданный объем и освобождал память заблаговременно, т.к. если поставить неограниченный объем, и сервер попробует получить память, которой нет, он начинает лезть в файл подкачки, что сильно замедлит работу.

Процессоры (Processors)

Максимальное количество потоков (Maximum worker threads) стОит регулировать только при большом количестве клиентов (более 255) и для 1С это не актуально, поэтому оставим по-умолчанию. (хотя обратное ).  Также выставляем галку повышенного приоритета сервера (Boost SQL Server priority).

Database Settings

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

Создание базы данных

Последнее обновление: 26.06.2017

Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных
представляет хранилище объектов. Основные из них:

  • Таблицы: хранят собственно данные

  • Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы

  • Хранимые процедуры: выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)

  • Функции: также код SQL, который выполняет определенную задачу

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

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

В MS SQL Server по умолчанию создается четыре системных баз данных:

  • master: эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать.
    Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также
    ряд другой информации.

  • model: эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы
    создаем через SSMS свою бд, она создается как копия базы model.

  • msdb: хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.

  • tempdb: эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.

Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases:

Эти базы данных не следует изменять, за исключением бд model.

Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом:
DWConfiguration, DWDiagnostics, DWQueue.

Создание базы данных в SQL Management Studio

Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в
SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши
на узел Databases. Затем в появившемся контекстном меню выберем пункт New Database:

После этого нам открывается окно для создания базы данных:

В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university.

Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение <defult>, то есть владельцем будет тот, кто создает эту базу данных.
Оставим это поле без изменений.

Далее идет таблица для установки общих настроек базы данных. Она содержит две строки — первая для установки настроек для главного файла, где будут храниться данные, и
вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:

  • Logical Name: логическое имя, которое присваивается файлу базы данных.

  • File Type: есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных
    (ROWS Data) и файлом лога (LOG)

  • Filegroup: обозначет группу файлов. Группа файлов может хранить множество файлов
    и может использоваться для разбиения базы данных на части для размещения в разных местах.

  • Initial Size (MB): устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).

  • Autogrowth/Maxsize: при достижении базой данных начального размера SQL Server использует это значение
    для увеличения файла.

  • Path: каталог, где будут храниться базы данных.

  • File Name: непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.

После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.

После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее
правой кнопкой мыши и выбрав в контекстном меню пункт Delete:

НазадВперед

16. Как узнать логин и пароль подключения 1С к MS SQL Server

Код:

Function XOR(Val
ParA, Val ParB)
  Res = 0;
  Koef = 1;
  For BitNumber = 1 To 8 Do
    BitA = ParA % 2;
    BitB = ParB % 2;
    ParA = Int(ParA / 2);
    ParB = Int(ParB / 2);
    BitC = (BitA + BitB) % 2;
    Res = Res + BitC * Koef;
    Koef = Koef * 2;
  EndDo;
  Return Res;
EndFunction
              

// индексы значений с списке 
// server = 2, db = 4, uid = 6, pwd = 8, checksum = 10
Function ConnectionString()  export
    Var SQLKeyCode, ConnectCode;
    ConnectFile = IBDir() + «1Cv7.DBA»;
    If FS.ExistFile(ConnectFile) = 0 Then
       
Message(«Это не SQL — база!», «!»);
       
Return (0);
    EndIF;
    FSO =
CreateObject(«Scripting.FileSystemObject»);
    F = FSO.OpenTextFile(ConnectFile, 1);
    ConnectLen = 0;
    While F.AtEndOfStream = 0 Do
       
ConnectLen = ConnectLen + 1;
       
ConnectCode = Asc(F.Read(1));
    EndDo;
    F.Close();
    FSO = 0;
    SQLKey = «19465912879oiuxc
ensdfaiuo3i73798kjl»;
    For i = 1 To 36 Do
       
SQLKeyCode = Asc(Сред(SQLKey, i, 1));
    EndDo;
    Connect = «»;
    For i = 1 To ConnectLen Do
       
Connect = Connect + Chr(XOR(ConnectCode, SQLKeyCode));
    EndDo;
    vl=createobject(«ValueList»);
    Connect=StrReplace(Connect,»{«,»»);
    Connect=StrReplace(Connect,»}»,»»);
    vl.fromSeparatedString(Connect);
    return (vl);
EndFunction
if ExclusiveMode()=0 then
       
if FS.ExistFile(IbDir()+»1cv7.dds»)=1 then
           
constr=ConnectionString();
           
if ConStr<>0 then
               
server=constr.getValue(2);database=constr.getValue(4);uid=constr.getValue(6);
pwd=constr.getValue(8);

обработкой

21. Как решить проблемы с памьятью. 1 — Windows Server не видит больше 4 GB ОЗУ, 2 SQL Server не может использовать больше 2 GB.

Проблемы
с 32 разрядными Windows Server и поддержкой больше 4 GB ОЗУhttp://support.microsoft.com/?id=283037http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ru/library/ServerHelp/32da8fd0-23f4-4dd4-b5f0-f2b45bb042b3.mspx?mfr=truec:\boot.ini/fastdetect /PAEc:\boot.ini/fastdetect/3GBmulti(0)disk(0)rdisk(0)partition(1)\WINDOWS=»Windows
Server 2003, Enterprise» /PAE /3GB /fastdetect/3GBПроблема с
SQL Server (2000, 7.0) и сипользованием болше 2 GB ОЗУhttp://www.support.microsoft.com/?id=274750http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=137853&pg=1Код:

sp_configure ‘show advanced options’,
1RECONFIGURE
GOsp_configure ‘awe
enabled’, 1RECONFIGURE
GOsp_configure ‘max
server memory’, 6144RECONFIGURE
GO

Вопросы от опытных администраторам вам

1. Как вы изучаете новые вещи?

Если вы не развиваетесь, то это существенно уменьшает ваши шансы остаться в профессии

2. Я менеджер, а вы администратор MS SQL Server, объясните мне почему мы не должны перенести проекты на Oracle или MySQL?

Очень желательно если вы разбираетесь в конкурентах и знаете их слабые и ваши сильные стороны

3. Менеджеру нужен новый экземпляр SQL Server, что вы у него спросите?

Здесь нет однозначного ответа. Кто-то хочется услышать про возможность виртуализации, критичность и редакцию SQL Server, кто-то про Collation, требования к самому серверу или размер данных

4. Напишите скрипт, который реализует следующую логику: «Напечатайте числа от 1 до 100, для чисел кратных трем, выведите «Три» вместо числа,для кратных пяти — «Пять». Для чисел, кратных как трем так и пяти выведите «ТриПять».

Достаточно распространённый вопрос за границей, его можно решить разными способами.

5. В каких случаях и почему некластерный индекс может быть быстрее кластерного?

6. Что делать, если диск с tempdb пропал. Как запустить SQL Server?

Оптимизация запросов SELECT

Не читайте больше данных, чем надо. Не используйте *

Если ваше приложение позволяет пользователям выполнять запросы, но вы не можете отсечь лишние сотни и тысячи возвращаемых строк, используйте оператор TOP внутри инструкции SELECT. 

Не возвращайте клиенту большее количество столбцов или строк, чем действительно необходимо (Не используй * в Select). 

Как можно раньше отфильтруйте данные. Не нужно выполнять большой тяжелый подзапрос для  всех строк таблицы. Сначала отфильтруйте нужные строки.

Корректно используйте JOIN

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

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

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

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

Тип JOIN используйте только тот, который вернет вам НЕОБХОДИМЫЕ данные без каких-либо дублей или лишней информации (или совсем отказаться от join). Т.е. не нужно получать всех пользователей таким образом: 

В этом случае вы получите много повторов пользователей

Сортировка в SELECT

Самой ресурсоемкой сортировкой является сортировка строк.

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

Группирование в SELECT

Используйте как можно меньше колонок для группировки.

По возможности лучше использовать Where вместо Having, т.к. это уменьшает количество строк для группировки на ранней стадии. 

Если требуется группирование, но без использования агрегатных функций (COUNT(), MIN(), MAX и т.д.), разумно использовать DISTINCT.

Ограничить использование DISTINCT

Эта команда исключает повторяющиеся строки в результате. Команда требует повышенного времени обработки. Лучше всего комбинировать с LIMIT.

Ограничить использование SELECT для постоянно изменяющихся таблиц.

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

Оптимизация WHERE в запросе SELECT

Если where состоит из условий, объединенных AND,  они должны располагаться в порядке возрастания вероятности истинности данного условия. Чем быстрее мы получим false  в одном из условий — тем меньше условий будет обработано и тем быстрее выполняется запрос. 

Если where состоит из условий, объединенных OR,  они должны располагаться в порядке уменьшения вероятности истинности данного условия. Чем быстрее мы получим true  в одном из условий — тем меньше условий будет обработано и тем быстрее выполняется запрос. 

Исопльзуйте IN вместо OR. Операция IN работает гораздо быстрее, чем серия OR.  Запрос «… WHERE column1 = 5 OR column1 = 6» медленнее чем «…WHERE column1 IN (5, 6)». 

Используйте Exists вместо Count >0 в подзапросах. Используйте where exists (select id from t1 where id = t.id) вместо where count(select id from t1 where id=t.id) > 0

LIKE. Эту операцию следует использовать только при крайней необходимости, потому что лучше и быстрее использовать поиск, основанный на full-text индексах. 

Простые SQL Queries

Для создания таблицы используется CREATE TABLE, новой БД – CREATE DATABASE. Все колонки, которые необходимо добавить вместе с их типами, будут приняты в качестве параметров.

Для формирования БД на сервере используют MS SQL Server Management Studio, а также MS SQL Server. При создании таблиц добавляют команду Primary Key, которая выступает как колонка, в которой все значения уникальны. Это может быть первая колонка с указанием id номера записи (строки) в таблице.

Для выполнения различных операций в SQL предусмотрено множество встроенных функций. Среди них чаще всего используются агрегатные функции:

  • MIN()/ MAX() – для возврата минимального либо максимального значения указанного столбца;
  • COUNT() – для возврата числа строк;
  • AVG() – для возврата среднего значения указанного столбца;
  • SUM() – для возврата суммы всех полей столбца, у которых имеются числовые значения.

Ключевое слово AS, добавленное в команду, поможет столбцу присвоить псевдоним. Это сделает его название не только красивым, но и более понятным.

Ярлыки

_удалить
(17)


(93)

1С++
(8)

1Cpp.dll
(1)

1cv7evt.txt
(1)

3G-модем
(1)

автоматизация
(5)

автоматическое обновление
(1)

авторское право
(1)

АгентПлюс
(10)

АгентПлюс Сервер
(2)

администрирование
(10)

администрированиe
(162)

аккумулятор
(2)

активация
(1)

алгоритмы
(5)

антивирус
(6)

аренда
(1)

АТС
(2)

аудит
(1)

банки
(1)

батарея
(2)

безопасность
(4)

Бест Звит
(1)

бизнес
(1)

виртуализация
(2)

внедрение
(2)

война
(2)

восстановление
(1)

восстановление пароля
(1)

выражения
(1)

геокодирование
(2)

гипервизоры
(1)

ГИС
(1)

горячие клавиши
(1)

громкость
(1)

групповые политики
(1)

группы
(1)

документация
(2)

доступ
(1)

драйвера
(5)

дурдом
(1)

животные в городе
(3)

журнал событий
(3)

забавно
(14)

загрузка
(6)

Запорожье-2
(1)

заправка
(2)

запросы
(2)

защита
(1)

ибп
(2)

игры
(5)

инструкции
(7)

интересное
(32)

интернет
(1)

интерфейс
(1)

информация
(1)

историческое
(1)

калибровка
(1)

картинки
(1)

картриджи
(4)

Киев
(1)

кино
(1)

клонирование
(1)

книги
(1)

коды ошибок
(2)

коды событий
(1)

командная строка
(2)

координаты
(1)

копирайт
(1)

КПК
(11)

личное
(1)

локализация
(1)

Мариуполь
(1)

маркеры
(1)

маршрутизация
(4)

математика
(1)

мебель
(1)

метки
(1)

мини-АТС
(1)

мониторинг
(2)

МТС
(1)

музыка
(3)

МФУ
(2)

настройка
(2)

ностальгическое
(1)

обжимка кабеля
(2)

обмен данными
(1)

обозреватель сети
(1)

обслуживание
(1)

Одесса
(1)

онлайн сервисы
(3)

оптимизация
(7)

организация рабочего места
(1)

ОС
(1)

оснастки
(1)

очистка диска
(1)

ошибки
(8)

памятка
(5)

панель управления
(1)

парсер
(1)

парсинг
(4)

переворот
(5)

перенаправление принтеров
(1)

печать
(2)

пиратство
(1)

платформа
(1)

ПО
(4)

познавательно
(2)

пользователи
(1)

порты
(2)

посуточно
(1)

почта
(1)

правила
(1)

принтеры
(7)

природа
(1)

проблемы
(53)

проблемы печати
(7)

проблемы печати из 1С
(6)

проверка подлинности
(2)

программирование
(18)

производственное
(40)

прокси
(1)

профиль пользователя
(3)

процессоры
(1)

прямые запросы
(7)

ПУЭ
(1)

ПФУ
(1)

пьеса
(1)

раскладка
(1)

расписание поездов
(1)

рассказы
(7)

реестр
(7)

режим бога
(1)

резервное копирование
(1)

рекомендации
(3)

рецепты
(2)

САПР
(1)

сатира
(1)

сетевая печать
(6)

сетка цветов
(1)

сеть
(6)

синхронизация данных
(1)

сканирование
(1)

СКД
(1)

службы
(3)

смешное
(60)

снежинки
(1)

события
(2)

сообщения
(1)

ссылки
(17)

ссылки на ПО
(11)

статьи
(5)

стихи
(2)

строительство
(1)

строка соединения
(1)

строки
(1)

теория
(2)

терминология
(1)

тестирование
(1)

технологии
(2)

ТЗ
(1)

торренты
(1)

трудности перевода
(3)

удаление
(1)

Украина
(4)

улыбнуло
(2)

установка
(2)

утилиты
(4)

форматы видео
(1)

формы
(1)

фразы
(1)

франчайзинг
(1)

Херсон
(1)

хроники
(1)

ценообразование
(1)

цитаты
(34)

числа
(1)

чужие мысли
(43)

шаблон
(1)

шифрование
(1)

шрифты
(1)

ЭККР
(1)

экран приветствия
(2)

электропроводка
(1)

эмулятор
(2)

Югославия
(1)

язык запросов
(1)

Ясиноватая
(1)

active directory
(11)

Alawar
(1)

amd
(1)

android
(13)

apcupsd
(1)

applus.dll
(1)

avast
(2)

backup
(1)

BartPE
(1)

base.sdf
(1)

BIOS
(2)

bluetooth
(1)

bmc
(1)

boot
(3)

Brother
(2)

BSOD
(1)

CAD
(1)

canon
(1)

CAPICOM
(1)

Cisco AnyConnect
(3)

cleanmgr
(1)

cleanwipe
(1)

COM
(2)

compmgmt
(1)

Daemon Tools
(1)

dcpromo
(2)

dfs
(1)

dial-up
(1)

dns
(1)

dnscache
(1)

DropBox
(1)

ERP
(1)

event log
(3)

Excel
(11)

explorer
(3)

firefox
(5)

flash
(1)

from1c.zip
(3)

(2)

gpo
(1)

gprs
(1)

gps
(7)

gpstrack.txt
(1)

grub
(1)

hard reset
(1)

HASP
(1)

hdd
(2)

hpmup081.bin
(2)

html5
(1)

iGo8
(3)

intel
(1)

ipmi
(1)

ipv4
(1)

ipv6
(1)

iso
(1)

KML
(1)

kms
(1)

LineAge
(1)

linux
(1)

liveupdate
(1)

Lotus Notes
(1)

MD Office
(1)

MediaServer
(1)

mlg
(4)

mmc
(1)

ms office
(2)

msg
(1)

msxml
(1)

nmea
(1)

Norton
(1)

nslookup
(1)

NTLDR is missing
(1)

olap
(1)

ole
(5)

OS
(1)

panasonic
(2)

pdf
(1)

ping
(1)

RDP
(10)

RIP
(1)

root-права
(2)

RRAS
(1)

Samsung
(2)

SAP
(1)

SEP
(1)

skype
(4)

smart
(1)

Smart-UPS
(1)

SPTD
(1)

SQL
(21)

ssd
(1)

Symantec
(7)

sysprep
(1)

TCP/IP
(3)

tda-100
(2)

TeamViewer
(2)

to1C.zip
(2)

torrents
(1)

tp-link
(2)

ubuntu
(1)

UltraISO
(1)

upgrade
(1)

uptime
(1)

USB
(5)

UTF-8
(1)

v7plus.dll
(1)

viber
(1)

Vista
(1)

VPN
(2)

Wake-on-LAN
(1)

wifi
(4)

windows
(106)

Windows 2003 Server
(11)

Windows 2008 Server
(1)

Windows 7
(7)

windows 8
(1)

windows features
(1)

windows server
(4)

windows update
(2)

windows xp
(4)

wmi
(1)

Word
(3)

wsus
(2)

XML
(2)

youtube
(1)

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: