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

Как остановить sql server

FAQ по MS SQL 7.0

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

10. Я создал DTS для сопирования данных и он работает хорошо когда я его просто запускаю, когда же я schedule a job, задача каждый раз выдаёт ошибку.. error is ==> The Job was invoked by user sa, the last step to run was step1.

Эта проблема появляется после установки service pack 2. Вам нужно зарегистрировать ваш entreprise manager под другим логином (лучше не SA, который использовался бы только для запуска packages). После этого, отредактируйте ваш package и сохраните под новым именем (NEWNAME, к примеру), теперь заново установите расписание и вперед.

9. Принес backup БД с другого сервера, но восстановить не могу. Ругает на сортировку. Как узнать какие установки сервера надо задать, чтобы восстановить из backup.

Для успешного восстановления из backup необходимо точное совпадение установок сортировки. Изменить эти установки можно, только перестроив БД master.
Чтобы посмотреть текущие установки можно воспользоваться хранимой процедурой sp_helpsort или sp_configure.
ХП sp_helpsort показывает:
· Character Set — кодовая страница;
· Code Page — id кодовой страница;
· Sort Order — тип сортировки (словарная или нет, чувствительная к регистру или нет);
· Characters, in Order — показывает, в каком порядке будут сортироваться символы из набора.
MS SQL Server 7.0 дополнительно имеет характеристики сортировки UNICODE-овых данных (Unicode data sorting):
· Locale ID — id выбранного Unicode;
· Case insensitive — нечувствительность к регистру (case sensitive — флажок не установлен);
· Accent-insensitive — нечувствительность к диакритическому знаку (если не показывается — флажок не установлен);
· Width insensitive — нечувствительность к ширине (если не показывается — флажок не установлен);
· Kana type insensitive — нечувствительность к типу Kana (если не показывается — флажок не установлен).
ХП sp_configure показывает:
· default sortorder id — определяет набор символов, порядок сортировки и кодовую страницу.
MS SQL Server 7.0 дополнительно имеет характеристики сортировки UNICODE-овых данных:
· Unicode locale id — id выбранного Unicode;
· Unicode comparison style — определяет четыре установки сопоставления Unicode.

8. Проблема. Какой-то пользователь внес изменения в справочник, которые имели нехорошие последствия. Конечно все говорят что ничего не делали. Можно ли как-то найти кто и когда это сотворил

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

7. Как переименовать базу данных?

Нужно обладать правами администратора или владельца базы данных, перевести БД в однопользовательский режим, выполнить хранимую процедуру:
sp_renamedb », »
После этого БД можно перевести в многопользовательский режим.

6. SQL-сервер не принимает дату в таком виде — ‘13.12.97’. Что делать?

По умолчанию дата в SQL-запросе принимается в следующем формате — mdy. Изменить это можно с помощью команд SET DATEFORMAT. Синтаксис: set dateformat mdy|dmy|ymd. Действует на текущий коннект.

5. Сколько столбцов может быть в таблице?

В MS SQL Server — 6.5 — 250
В MS SQL Server — 7.0 — 1024

4. В T-SQL есть оператор LIKE, который использует спец. символы: • ‘%’ — любые один или несколько символов; • ‘_’ — один любой символ. А как искать строки, в которых присутствуют эти спецсимволы?

Такие символы нужно заключать в квадратные скобки:
Такие символы нужно заключать в квадратные скобки:
• like ‘5[_]’ — будут выбираться строки, содержащие ‘5_’, а не ’51’, ‘5a’ и т.д.;
• like’ffff[%]’ — будут выбираться строки, содержащие ‘ffff%’, а не ‘ffffaaaa’, ‘ffff1’ и т.д.;
• like ‘MB_an[_]’ — будут выбираться строки, содержащие ‘MB’+ любой символ+’an_’.
• like ‘%[[]%’ — будут выбираться строки, содержащие ‘[‘
• like ‘%]%’ — будут выбираться строки, содержащие ‘]’
• like ‘%[[]]%’ — будут выбираться строки, содержащие ‘[]’

3. Как узнать длину текстового (text) или image- поля?

Нужно использовать функцию DATALENGTH, например:

2. Перемещение пользовательских баз данных SQL Server 7.0 в другое место.

Информация в этой статье относится к Microsoft SQL Server версии 7.0
Следующий пример перемещает базу данных, названную mydb, которая имеет один файл mydb.mdf и один журнал Mydblog.ldf.
Вы должны иметь единоличный доступ к перемещаемой базе данных.
Отсоедините базу данных следующим образом:

Затем, скопируйте данные и журналы из текущего места расположения (D:Mssql7Data) в новое расположение (E:Sqldata).
Снова прикрепите базу данных, задав файлы в новом расположении следующим образом:

Проверите изменение расположения файлов, используя sp_helpfile:

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

В MS SQL Server 7.0 объявилась нехорошая возможность — поднятие резервных копий базы данных и (или) присоединение базы данных другого сервера зачастую приводят к искажению информации о владельце базы. На практике это проявляется в невозможности выполнить на вновь присоединенной базе команду setuser ‘dbo’ сервер дампится.

Решение на удивление просто. Корень зла в сохранении внутри базы sid пользователя dbo со старого сервера. Соответственно решение исправить sid . Как пример:

1. Как правильно и удобно работать с датой?

Чтобы не зависеть ни от каких региональных настроек, дату надо задавать в виде YYYYMMDD без разделителей. Т.е. типа ‘20010528’. Это же рекомендует и Микрософт. На первый взгляд это выглядит не очень эстетично, но попробуй — тебе понравится!

Какие шаги необходимы для безопасной перезагрузки компьютера с Microsoft SQL Server?

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

Например, недавно я столкнулся с рекомендацией останавливать службу SQL вручную. Насколько я понимаю, это обрабатывается shutdown процессом Windows .

Я уверен, что есть миллионы шагов, которые отдельные люди могут порекомендовать, как я только что упомянул, но я бы хотел избежать повторения устаревших или суеверных практик . Есть ли какие-либо рекомендации от Microsoft или широко распространенные отраслевые стандарты?

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

Вам не нужно беспокоиться или бояться при перезапуске сервера sql.

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

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

Чистое завершение работы SQL Server происходит в следующих сценариях:

  • Остановите сервер sql с помощью консоли служб.
  • Завершение работы вашего сервера
  • запуск команды SHUTDOWN в SSMS

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

Неправильное завершение работы сервера sql:

  • отключение с помощью Nowait
  • потянув кабель питания от вашего сервера (если у вас есть доступ).
  • убийство sqlserver.exe из диспетчера задач
  • Сбой Dirve, на котором находятся исполняемые файлы sql server, exe, системные базы данных или сбой системного диска Windows .. обычно диск C: \.
  • перегрев сервера, приводящий к его отключению (случается редко !!)

SQL Server всегда будет пытаться сделать чистое завершение работы . если вы не сделаете что-то неправильное, как указано выше.

Некоторые действительно хорошие ссылки для чтения о том, что происходит за кулисами на этапе восстановления:

Это все подробно описано на этой странице.

В связи с тем, что ваш вопрос конкретно задает вопрос: «Есть ли какие-либо рекомендации Microsoft », я склонен думать, что это нецелесообразно для такого обсуждения здесь. В статье их подробно описан процесс

  • Используя либо
    • командная строка
    • Powershell,
    • SQL Server Management Studio (GUI)
    • Database Engine
    • или, агент

    Будут ли эти шаги удовлетворительными, будет моим мнением, а вы не хотите. Таким образом, правильный ответ всегда будет наиболее актуальным там.

    Остановка службы до отключения

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

    Нет, это не обязательно. Когда ядро ​​Windows отправляет сигнал на завершение работы на SQL Server, он делает это безопасным способом, и система ожидает его завершения. Говоря в целом, все, что построено с возможностью безопасного выключения, не должно быть отключено вручную, и есть основания полагать, что все приложения Microsoft следуют своему собственному API и процедурам, привязанным к фазам PRESHUTDOWN или SHUTDOWN . Из документов PRESHUTDOWN , которые я предполагаю, они используют,

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

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

    Каков наилучший способ запуска и остановки SQL Server из командной строки?

    Мне нужно запустить и остановить SQL Server из командной строки. Я готов написать небольшую программу на C#, если это необходимо, но я подозреваю, что есть что-то (PowerShell, может быть?) что в настоящее время существует, что делает это изящно.

    6 ответов

    или в PowerShell Stop-Service, Start-Service или Restart-Service. Обратите внимание, что все это должно быть сделано на основе каждого экземпляра, как и с другими предложениями здесь.

    вот ответ, который на самом деле содержит маленький бонус информация. и более подробно отвечает на вопрос. Что делать, если у вас есть несколько экземпляров SQL server? Тогда вам нужно знать расширенный синтаксис NET START. Вы можете запускать службы по имени, а не только по моникеру службы (или любой другой пример mssqlserver):

    чистый запуск » sql server (instancename)»

    Это относится и к другим службам. Хотите запустить уведомление о системном событии Услуги?

    NET START «служба уведомлений о системных событиях»

    бум идет динамит! хехе

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

    @ECHO OFF net stop » агент SQL Server (MSSQLSERVER)» чистая остановите mssqlserver чистый запуск MSSQLSERVER net start » агент SQL Server (MSSQLSERVER)»

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

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