Ms 2018 sql: Microsoft SQL Server 2018 Management Studio

Оптимизация 1С Предприятие настройки и администрирование Microsoft SQL порог потребления памяти заказать в Екатеринбурге

Система управления базами данных (СУБД) — специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных. Платформа поддерживает работу с пятью СУБД. Одна из этих СУБД, — файловая СУБД, — разработана фирмой «1С» и является частью платформы. Остальные — это СУБД сторонних поставщиков:
•    Microsoft SQL Server
•    PostgreSQL
•    IBM DB2
•    Oracle Database


Сегодня мы поговорим о настройках самой распространенной СУБД, это Microsoft SQL Server.



Установка порога потребляемой памяти


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


(Всего памяти на сервере – 1024 * Всего памяти на сервере / Всего памяти на сервере * 0,5) – оставить для ОС 1 гб на каждые 16 гб общего размера памяти.



Приоритет MS SQL сервера


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



Включение протокола Shared Memory


Если сервер 1С: Предприятия расположен вместе с Microsoft SQL Server — включить протокол Shared Memory. Данный протокол обменивается через оперативную память, минуя сетевое соединение.


Настройка находится в оснастке “Sql Server Configuration Manager”



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


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



На вкладке Database Setting можно задать пути файлов базы данных, логов транзакций и копий по умолчанию.



На этой же странице есть параметр – Default index fill factor. Это так называемый процент заполнения индекса по умолчанию. Когда мы создаем индекс, у него по умолчанию все страницы заполнены и у нас бывает такая проблема, как фрагментация индекса. Проблема фрагментации индексов – это ситуация, когда страницы индекса не до конца заполнены. Такой индекс увеличивается в размере, но при этом у него много страниц. Которые заполнены частично. Это может происходить например, когда страница некого индекса заполнена полностью и мы на нее хотим что-то вставить. Тогда страница разбивается на 2 части. Первая часть страницы остается на своем месте и создается новая страница, на которую переносится половина оставшихся данных. Если такая ситуация происходит часто, то это дополнительная нагрузка для расщепления данных. В итоге получается индекс с большим количеством не до заполненных страниц. Чтобы его прочитать или прочитать его диапазон, необходимо потратить больше времени. А если этот индекс после этого перестроить, либо выполнить операцию дефрагментации, индекс может начать работать быстрее за счет того, что он уменьшается в размере и все страницы располагаются физически ровно на диске.


Default index fill factor нужен для того, чтобы искусственно сделать так, чтобы страницы индекса были не до заполнены.  То есть при создании нового индекса у нас страницы чуть-чуть не до заполнены. Это нужно для того, чтобы всегда место на страницах оставалось, и мы могли туда вставить какие-либо новые записи и при этом не увидеть расщепление страницы. Обычно для баз 1С данный параметр не меняют, а если уж и меняют, то делают это на определенных индексах.



Max Degree of Parallelism – параллельное выполнение плана запроса ядрами процесора. Значение 1 означает, что параллелизм выключен, а значение 0 означает, что оптимизатор сам решит, сколько ядер ему использовать. Есть рекомендация Microsoft, которая говорит, что нельзя ставить значение в данном параметре больше, чем число ядер, находящимся в одном процессорном сокете. Это справедливо для NUMA архитектуры. С данным параметром можно экспериментировать, лучше сразу не ставить большое значение, поставьте, к примеру для начала значение 4. Если вы видите, что нагрузка слишком высокая, попробуйте уменьшить число параллельных потоков, а значение параметра “Cost Threshold for Parallelism” наоборот увеличить, к примеру значение 300. А если вы видите, что процессор, наоборот, не нагруженный и запас производительности высокий, параметр “Cost Threshold for Parallelism” уменьшите, к примеру, до 120, а параметр “Max Degree of Parallelism” увеличить. Если значение параметра равно не единице (1), то оптимизатор строит 2 плана запроса. Один план запроса для однопоточного выполнения, второй план запроса для параллельного выполнения.


Cost Threshold for Parallelism – время в секундах, после которого запрос начнет выполняться в параллельном режиме.


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




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


Tempdb — хранит временные таблицы, промежуточные планы запросов, промежуточные данные при перестроении индексов. Данная база может становиться “узким местом”. Так как мы часто используем временные таблицы. Данную базу иногда выносят на отдельные диски SSD, иногда даже на RAM диск. За счет этого можно получить выигрыш в производительности. Есть рекомендация, разбивать tempdb на части, обычно на 4 файла. Единственное условие, чтобы данные файлы были одинакового размера. На небольших системах прирост производительности будет не заметной.


Master – база всех настроек MS SQL сервера.


Model – шаблон для создания новых баз данных. Все настройки, заданные в данной базе, при создании новой базы, будут взяты отсюда.


Msdb – служебная база, её использует агент MS SQL сервера для запуска и работы заданий.


Перемещение баз данных


Особенность всех системных баз, что их просто так не переместить. Их необходимо перемещать скриптами. Пример перемещения базы данных tempdb скриптом:



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


1.      Правой кнопкой мыши на перемещаемую базу> tasks> detach…



1.      Поставить галочку напротив базы данных “Drop Connections”



1.      После этого нажать “ОК”


Чтобы присоединить базу, необходимо сделать Attach… и выбрать файл базы данных



Флаги трассировки MS SQL


1. Только в режиме отладки! Могут замедлить работу программы.


Т2301 — более глубокая оптимизация


Т8780, Т8788 (аналог) — отключение таймаута оптимизации


Т8671 — отключает отбрасывание неэффективных ветвей для поиска Good Enough Plan


2. ХОТФИКСЫ ДЛЯ ОПТИМИЗАТОРА ЗАПРОСОВ


Т4199 — свободно собраны хотфиксы для оптимизатора запросов для SQL Server 2005 — 2014


Эти улучшения (хотфиксы) по умолчанию выключены,


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


По умолчанию Т4199 включен в SQL Server 2016, если база в режиме совместимости 130 или выше.


Пример команд включения флагов трассировок:


DBCC TRACEON (2301, -1)


DBCC TRACEOFF (2301, -1)


DBCC TRACESTATUS ()

SQL Server Management Studio 17 не может найти один или несколько компонентов

Я только что обновился до Visual Studio 2017 Professional и SSMS 17.

Я могу получить доступ к своим серверам и базам данных через обозреватель объектов SQL Server Visual Studio 17, но когда я пытаюсь выполнить SSMS за пределами VS IDE говорит мне: « Не удается найти один или несколько компонентов. Переустановите приложение «. Я дважды переустанавливал SSMS 17 и все еще не могу его запустить.

Исполняемый файл SSMS находится по адресу:

C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe .

У меня такая же проблема на другой машине с VS 2017 Community.

Что вызывает сообщение « Не удается найти один или несколько компонентов. Переустановите приложение » при попытке запустить SSMS вне Visual Studio? Что мне нужно сделать, чтобы запустить SSMS вне VS IDE?

  • sql-сервер
  • визуальная студия

4

У меня была похожая проблема, и в моем случае это было связано с поврежденной оболочкой Microsoft Visual Studio 2015 (изолированной) , которую SSMS 17 требует для запуска вне VS IDE.

Чтобы исправить это, мне пришлось сделать следующее:

  1. Удалить Microsoft Visual C++ 2017 Redistributable (как x64, так и x86). Это необходимо для того, чтобы шаг (2) прошел успешно, поскольку в некоторых случаях процесс восстановления предварительных условий может завершиться неудачно, если были установлены более новые версии.
  2. Восстановить Оболочку Microsoft Visual Studio 2015 (изолированную) (или переустановить с помощью https://download.microsoft.com/download/C/9/C/C9CA8400-20AA-4488-92A3-F3F6D978AD81/vs_isoshell.exe).
  3. Переустановите Microsoft Visual C++ 2017 Redistributable (https://go.microsoft.com/fwlink/?LinkId=746572 и https://go.microsoft.com/fwlink/?LinkId=746571), если он был удален ранее.

17

Вот быстрое решение для не удается найти один или несколько компонентов в SQL Server

Выполните следующие действия:

  1. Выполнить Добавить или удалить программы (Введите в поле запуска)

  2. Восстановить Оболочка Microsoft Visual Studio 2015 (изолированная) (Изменить > Восстановить)

Процесс установки сообщит, что не удалось установить некоторые исполняемые файлы Visual C++, поскольку они уже присутствуют; это сообщение можно игнорировать, ремонт по-прежнему устраняет проблему, указанную в вопросе.

3

Для SSMS 2017 удалите эту папку из реестра:

 HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\14.0_Config
 

Было бы лучше экспортировать ключи перед их удалением.

6

Те же шаги, что и в решении Роберто выше, но обновленные ссылки:

1. Удаление:

 Распространяемый компонент Microsoft Visual C++ 2015–2019 (x86) — 14.xxxx
Распространяемый пакет Microsoft Visual C++ 2015–2019 (x64) — 14.xxxx
 

2. Восстановление или загрузка/установка:

 Оболочка Microsoft Visual Studio 2015 (изолированная)
 

https://visualstudio.microsoft.com/vs/older-downloads/isolated-shell/

3. Переустановите:

 Распространяемый пакет Microsoft Visual C++ 2015–2019 (x86) — 14.xxxx
 

https://aka. ms/vs/16/release/vc_redist.x86.exe

 Распространяемый компонент Microsoft Visual C++ 2015–2019 (x64) — 14.xxxx
 

https://aka.ms/vs/16/release/vc_redist.x64.exe

Для всех, кто приедет сюда в 2022 году и у кого установлена ​​Windows 11 (сборка 22622.440), это ваша причина> Отсутствующие компоненты для Microsoft Оболочка Visual Studio 2017 (изолированная)

Отключить панель навигации sv2 для экспериментальных функций из Windows!

Скачать https://github.com/thebookisclosed/ViVe

Запустите инструмент vive из командной строки с повышенными правами с возможностью отключения экспериментальной функции:

vivetool / отключить / имя: SV2Navpane

Немедленный перезапуск Windows:

выключение -r -t 0

Взято отсюда, благодаря @Erin Stellato: https://feedback.azure.com/d365community/idea/6b7d06dc-9bec-ec11-a81b-6045bd7ac9f9

В моем случае я случайно удалил Microsoft Visual Studio 2015 Shell ( Изолированные), и я получил сообщение об ошибке «SQL Server Management Studio 17 не может найти один или несколько компонентов». хотя я восстанавливаю или восстанавливаю оболочку Microsoft Visual Studio 2015 (изолированную), та же ошибка была там.

  • Единственное, что я сделал, это переустановил оболочку Microsoft Visual Studio 2015 (изолированную). Я не делал Удаление распространяемого пакета Microsoft Visual C++ 2017 (как x64, так и x86).
    это сработало для меня.

Я использую SSMS 18, и каждый раз при установке KB5014770 я получаю эту ошибку. Если я удалю это обновление (KB5014770), оно снова начнет работать.

Удалите все установленные версии Visual C++, затем запустите восстановление в оболочке Visual Studio 2015 (изолировано). После завершения откройте SQL Server Management Studio, и все заработает.

1

В моем случае он был поврежден, потому что диск, на котором он был изначально установлен, был удален в рамках упражнения по объединению дисков. То есть он был установлен на E:\, но E:\ больше не существовал.

Мне удалось решить проблему с помощью VSubst (https://www.ntwind.com/software/utilities/visual-subst.html) и создания поддельного диска, указывающего на C:\ (запуск от имени администратора), где был «свежая» установка 2015 года после загрузки ISO-образа VS 2015.

Затем я повторно запустил деинсталлятор, который не работает, затем в файле журнала в первой строке указан путь к «старому инсталлятору». Теперь, если вы запустите {PathInLog}\vs_isoshell.exe /uninstall /force с созданным E:\, это приведет к принудительному удалению.

У меня была такая же проблема, и я решил ее очень легко. Обычно SSMS ищет интегрированное приложение. Этот интегрированный компонент устанавливается по умолчанию во время установки SSMS.

Я могу сказать, что ваша ошибка «Не удается найти один или несколько компонентов. Пожалуйста, переустановите приложение», вызванная тем, что какое-то приложение каким-либо образом удалено или отсутствует. Для открытия SSMS будет искать какое-то подключенное интегрированное приложение.

Выполните следующие действия:

  1. найдите «оболочку» в Панели управления\Программы\Программы и компоненты

  2. удалить любое приложение-оболочку

  3. Загрузите приложение Microsoft ниже.
    «en_visual_studio_2015_shell_isolated_x86_dvd_XXXXXXXX»

  4. Запустите приложение и разрешите установку всех приложений в процессе.

  5. Когда все будет сделано. Перезагрузите систему.

sql server 2017 — Microsoft SSMS 2018 не может открыться (только заставка)

Задавать вопрос

спросил

Изменено
3 года, 11 месяцев назад

Просмотрено
1к раз

да, я читал, что SQL Server Management Studio 18 не открывается (появляется только заставка), все работает с первого раза. после перезагрузки компьютера и повторной попытки открыть смс проблема возникает снова, и я пытаюсь исправить ее, как и раньше, но теперь это не работает.

это мой журнал ошибок:

34
2019/05/19 23:14:19.298
Ошибка
ВизуалСтудио
Ошибка CreateInstance для пакета [Пакет службы асинхронных запросов]. своих зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
System.IO.FileLoadException: не удалось загрузить файл или сборку «Microsoft.VisualStudio.Shell.Interop.8.0, версия = 8.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a» или одну из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Имя файла: «Microsoft.VisualStudio.Shell.Interop.8.0, версия = 8.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a»
в System.Reflection.RuntimeAssembly.GetType (сборка RuntimeAssembly, имя строки, логическое значение throwOnError, логическое значение ignoreCase, тип ObjectHandleOnStack)
в System. Reflection.RuntimeAssembly.GetType (имя строки, логическое значение throwOnError, логическое значение ignoreCase)
в System.Activator.CreateInstance (String AssemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo, культура, Object [] активация Attributes, Evidence securityInfo, StackCrawlMark и stackMark)
в System.Activator.CreateInstance (строковое имя сборки, строковое имя типа)
в System.AppDomain.CreateInstance (строковое имя сборки, строковое имя типа)

WRN: ведение журнала привязки сборки выключено.
Чтобы включить ведение журнала ошибок привязки сборки, задайте для параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) значение 1.
Примечание. Существует некоторое снижение производительности, связанное с ведением журнала сбоев привязки сборки.
Чтобы отключить эту функцию, удалите параметр реестра [HKLM\Software\Microsoft\Fusion!EnableLog].
{DD7B74B5-C1F9-411A-B22E-5E711592BC6B}


80004005 — E_FAIL

оттуда я получаю сообщение о том, что программе не удалось найти dll, но dll существует.