Как остановить sql сервер

Как остановить sql сервер

есть ли способ немедленно остановить выполнение SQL-скрипта в SQL server, например, команду" break "или" exit"?

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

18 ответов

The raiserror метод

это завершит соединение, тем самым остановив выполнение остальной части скрипта.

обратите внимание, что как уровень серьезности 20 или выше, так и WITH LOG опция необходима для этого, чтобы работать таким образом.

это даже работает с заявлениями GO, например.

обратите внимание ,что ‘ ho ‘ не напечатанный.

  • это работает только в том случае, если вы вошли в систему как администратор (роль "sysadmin"), а также оставляет вас без подключения к базе данных.
  • если вы не вошли в систему как администратор, вызов RAISEERROR () завершится ошибкой и скрипт продолжит выполнение.
  • при вызове с помощью sqlcmd.exe, будет сообщен код выхода 2745.

метод noexec

другой метод, который работает с операторами GO, — set noexec on . Это приводит к пропуску остальной части сценария. Он не прерывает соединение, но вам нужно включить noexec снова перед тем, как команды будут выполняться.

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

Если вы можете использовать режим SQLCMD, то заклинание

(включая двоеточие) заставит RAISERROR фактически остановить скрипт. Е. Г.,

и партия остановится. Если режим SQLCMD не включен, вы получите ошибку разбора двоеточия. К сожалению, он не полностью пуленепробиваемый, как если бы скрипт запускался без использования режима SQLCMD, SQL Managment Studio проходит мимо даже ошибок времени разбора! Тем не менее, если вы запускаете их из командной строки, это нормально.

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

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

даже если ваша проверка более сложна, вы должны только нужно несколько переменных флага, чтобы включить в вашу окончательную проверку(ы).

вы можете обернуть инструкцию SQL в цикл WHILE и использовать BREAK, если это необходимо

Я успешно расширил решение noexec on/off транзакцией для запуска скрипта способом "все или ничего".

по-видимому, компилятор "понимает" переменную @finished в IF, даже если произошла ошибка и выполнение было отключено. Однако значение равно 1, только если выполнение не было отключено. Следовательно, я могу красиво зафиксировать или откатить транзакцию соответственно.

в SQL 2012+, Вы можете использовать бросить.

вызывает исключение и передает выполнение в блок CATCH конструкции try. CATCH . Если конструкция TRY . CATCH недоступна, сеанс завершается. Задаются номер строки и процедура, в которой возникает исключение. Тяжесть имеет значение 16.

Это хранимая процедура? Если это так, я думаю, вы можете просто сделать возврат, например "Return NULL";

далее метод refinig Sglasses, приведенные выше строки принудительно использовать режим SQLCMD, и либо treminates scirpt, если не с помощью режима SQLCMD или использует :on error exit для выхода при любой ошибке
функция context_info используется для отслеживания состояния.

Я бы предложил вам обернуть соответствующий блок кода в блок try catch. Затем вы можете использовать событие Raiserror с серьезностью 11, чтобы сломать блок catch, если хотите. Если вы просто хотите raiserrors, но продолжить выполнение в блоке try, используйте более низкую серьезность.

Читайте также:  Sd firmware tool exe

Служба Microsoft SQL Server может быть остановлена с помощью команд net в Microsoft Windows.

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

Остановка экземпляра SQL Server по умолчанию

В командной строке введите одну из следующих команд:

net stop "SQL Server (MSSQLSERVER)"

net stop MSSQLSERVER

Остановка именованного экземпляра SQL Server

В командной строке введите одну из следующих команд. Замените имя_экземпляра именем экземпляра, которым необходимо управлять.

net stop "SQL Server ( имя_экземпляра )"

net stop MSSQL$ имя_экземпляра

Примечание

Остановка экземпляра SQL Server с помощью команды net stop приводит к тому, что SQL Server создает контрольную точку во всех базах данных, сохраняя на диск все изменения в данных.

В этом разделе описаны запуск, остановка, возобновление и перезапуск Компонент SQL Server Database Engine, агента SQL Server или службы браузера SQL Server с помощью диспетчера конфигурации SQL Server , SQL Server Management Studio, команд net из командной строки, Transact-SQLили PowerShell.

Перед началом работы выполните следующие действия.

Что это за службы?

Инструкции по использованию:

Диспетчер конфигурации SQL Server

Среда SQL Server Management Studio

Команды NET из окна командной строки

Что такое служба Компонент SQL Server Database Engine , служба агента SQL Server и служба браузера SQL Server ?

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

Компонент Database Engine служба
Исполняемый процесс, который представляет собой компонент Компонент SQL Server Database Engine. Компонент Database Engine может быть экземпляром по умолчанию (может быть только один на одном компьютере) либо может быть одним из нескольких именованных экземпляров Компонент Database Engine. С помощью диспетчера конфигурации SQL Server определите, какие экземпляры Компонент Database Engine установлены на компьютере. Экземпляр по умолчанию (если вы его установили) указан в списке под именем SQL Server(MSSQLSERVER). Именованные экземпляры (если вы установили их) перечислены как SQL Server ( ). По умолчанию SQL Server Express устанавливается как SQL Server (SQLEXPRESS).

SQL Server Служба агента
Служба Microsoft Windows, выполняющая запланированные административные задачи, которые называются заданиями и предупреждениями. Дополнительные сведения см. в статье SQL Server Agent. SQL Server доступен не во всех выпусках SQL Server. Сведения о функциях, поддерживаемых различными выпусками SQL Server, см. в статье Возможности, поддерживаемые выпусками SQL Server 2016 .

SQL Server Служба браузера
Служба Windows, прослушивающая входящие запросы на ресурсы SQL Server и предоставляющая клиентам сведения об экземплярах SQL Server, установленных на компьютере. Один экземпляр службы браузера SQL Server используется для всех экземпляров SQL Server, установленных на этом компьютере.

Дополнительные сведения

Приостановка службы Компонент Database Engine делает невозможным подключение новых пользователей к Компонент Database Engine, однако уже подключенные пользователи могут работать до тех пор, пока их соединения не будут разорваны. Приостановите работу службы, если нужно дождаться окончания работы пользователей, прежде чем совсем остановить службу. Это позволяет им завершить транзакции, которые в данный момент выполняются. Возобновление позволяет Компонент Database Engine снова принимать входящие подключения. Службу агента SQL Server нельзя приостановить или возобновить.

Диспетчер конфигурации SQL Server и SQL Server Management Studio отображают текущее состояние служб с помощью следующих значков.

SQL Server диспетчер конфигураций

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

Красный квадрат на значке рядом с именем службы означает, что служба остановлена.

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

При перезапуске Компонент Database Engineкрасный квадрат обозначает, что служба остановлена, затем зеленая стрелка покажет, что служба успешно запущена.

SQL Server Management Studio

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

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

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

При использовании диспетчера конфигурации SQL Server или SQL Server Management Studioдоступны только применимые параметры. Например, если служба уже запущена, Пуск будет недоступен.

При эксплуатации на кластере службой Компонент SQL Server Database Engine лучше всего управлять с помощью администратора кластера.

Безопасность

Разрешения

По умолчанию только участники локальной группы «Администраторы» могут запускать, останавливать, приостанавливать, возобновлять или перезапускать службу. При необходимости предоставить возможность управления службой для пользователей, не обладающих правами администратора, см. раздел Как предоставить пользователям права для управления службами в Windows Server 2003. (Процесс такой же, как и в других версиях Windows.)

Остановка Компонент Database Engine с помощью команды Transact-SQLSHUTDOWN требует членства в предопределенных ролях сервера sysadmin или serveradmin и не предназначена для передачи.

Запуск диспетчера конфигурации SQL Server

В меню Пуск последовательно выберите пункты Все программы, Microsoft SQL Server 2016, Средства настройкии щелкните Диспетчер конфигурации SQL Server.

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

Примечание
Читайте также:  Sp f120 genius схема
SQL Server 2016 C:WindowsSysWOW64SQLServerManager13.msc
SQL Server 2014 C:WindowsSysWOW64SQLServerManager12.msc
SQL Server 2012 C:WindowsSysWOW64SQLServerManager11.msc
SQL Server 2008 C:WindowsSysWOW64SQLServerManager10.msc

Запуск, остановка, приостановка, возобновление или перезапуск экземпляра Компонент SQL Server Database Engine

Запустите диспетчер конфигурации SQL Server с помощью приведенных выше инструкций.

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

На левой панели диспетчера конфигурации SQL Server щелкните Службы SQL Server.

На панели результатов щелкните правой кнопкой мыши SQL Server (MSSQLServer) или именованный экземпляр, затем выберите Пуск, Остановка, Пауза, Продолжить или Перезапуск.

Нажмите кнопку ОК для выхода из диспетчера конфигурации SQL Server .

Инструкции по запуску экземпляра Компонент SQL Server Database Engine с параметрами запуска см. в статье Настройка параметров запуска сервера (диспетчер конфигурации SQL Server).

Запуск, остановка, приостановка, возобновление или перезапуск браузера SQL Server или экземпляра агента SQL Server

Запустите диспетчер конфигурации SQL Server с помощью приведенных выше инструкций.

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

На левой панели диспетчера конфигурации SQL Server щелкните Службы SQL Server.

На панели результатов щелкните правой кнопкой мыши **SQL ServerОбозреватель **, Агент SQL Server (MSSQLServer) или Агент SQL Server ( ) для именованного экземпляра, а затем выберите Пуск, Остановка, Пауза, Продолжить или Перезапуск.

Нажмите кнопку ОК для выхода из диспетчера конфигурации SQL Server .

Примечание

SQL Server Агент приостановить нельзя.

Запуск, остановка, приостановка, возобновление или перезапуск экземпляра Компонент SQL Server Database Engine

В обозревателе объектов подключитесь к экземпляру Компонент Database Engine, щелкните правой кнопкой мыши экземпляр Компонент Database Engine, который нужно запустить, и выберите Пуск, Остановка, Пауза, Продолжить или Перезапустить.

Либо в разделе "Зарегистрированные серверы" щелкните правой кнопкой мыши экземпляр Компонент Database Engine, который нужно запустить, наведите указатель на Управление службами и выберите Пуск, Остановка, Пауза, Продолжить или Перезапустить.

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

При появлении запроса о необходимости выполнения действия нажмите кнопку Да.

Запуск, остановка или перезапуск экземпляра агента SQL Server

В обозревателе объектов подключитесь к экземпляру Компонент Database Engine, щелкните правой кнопкой мыши Агент SQL Server и выберите Пуск, Остановка или Перезапустить.

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

При появлении запроса о необходимости выполнения действия нажмите кнопку Да.

Службы Microsoft SQL Server можно запустить, остановить или приостановить с помощью команд Microsoft **** Windows.

Запуск экземпляра сервера по умолчанию Компонент Database Engine

В командной строке введите одну из следующих команд:

net start "SQL Server (MSSQLSERVER)"

net start MSSQLSERVER

Запуск именованного экземпляра Компонент Database Engine

В командной строке введите одну из следующих команд: Замените имя_экземпляра> именем экземпляра, которым необходимо управлять.

net start "SQL Server ( instancename )"

net start MSSQL$ instancename

Запуск Компонент Database Engine с параметрами запуска

Укажите разделенные пробелами параметры запуска в конце команды net start "SQL Server (MSSQLSERVER)". При запуске с помощью команды net start в параметрах запуска используется косая черта (/), а не дефис (-).

net start "SQL Server (MSSQLSERVER)" /f /m

net start MSSQLSERVER /f /m

Примечание
Читайте также:  Правильный алгоритм запуска программы microsoft word 2007

Дополнительные сведения о параметрах запуска см. в разделе Параметры запуска службы Database Engine.

Запуск SQL Server на экземпляре SQL Server

В командной строке введите одну из следующих команд:

net start "SQL Server Agent (MSSQLSERVER)"

net start SQLSERVERAGENT

Перезапуск агента SQL Server на именованном экземпляре SQL Server

В командной строке введите одну из следующих команд: Замените имя_экземпляра именем экземпляра, которым необходимо управлять.

net start "SQL Server Agent( instancename )"

net stop SQLAgent$ имя_экземпляра

Сведения о запуске агента SQL Server в подробном режиме для устранения неполадок см. в статье sqlagent90 Application.

Запуск браузера SQL Server

В командной строке введите одну из следующих команд:

net start "SQL Server Browser"

net start SQLBrowser

Приостановка или остановка служб из окна командной строки

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

Чтобы приостановить службу, вместо net start введите net pause.

Чтобы остановить службу, вместо net start введите net stop.

Компонент Database Engine можно остановить с помощью инструкции SHUTDOWN .

Остановка Компонент Database Engine с помощью Transact-SQL

Чтобы дождаться завершения запущенных в настоящий момент инструкций и хранимых процедур Transact-SQL с последующей остановкой Компонент Database Engine, выполните следующую инструкцию.

Чтобы остановить Компонент Database Engine немедленно, выполните следующую инструкцию.

Дополнительные сведения об инструкции SHUTDOWN см. в статье SHUTDOWN (Transact-SQL).

Запуск и остановка служб Компонент Database Engine

В окне командной строки запустите SQL Server PowerShell с помощью следующей команды.

В окне командной строки SQL Server PowerShell путем выполнения следующей команды. Замените computername именем нужного компьютера.

Определите службу, которую нужно остановить или запустить. Выберите одну из следующих строк. Замените instancename именем именованного экземпляра.

Получение ссылки на экземпляр Компонент Database Engineпо умолчанию.

Получение ссылки на именованный экземпляр Компонент Database Engine.

Получение ссылки на службу агента SQL Server на экземпляре Компонент Database Engineпо умолчанию.

Получение ссылки на службу агента SQL Server на именованном экземпляре Компонент Database Engine.

Получение ссылки на службу браузера SQL Server .

Завершите пример, чтобы запустить и затем остановить выбранную службу.

Примечание
Ссылка на основную публикацию
Как накладывать текстуры в blender
После завершения процесса моделирования возникает необходимость наложения материалов или текстур на объект. В данном уроке будет затронут непосредственно процесс текстурирования....
Как запустить службу теневого копирования
Теневая копия — технология Microsoft, позволяющая пользователям делать вручную или автоматическую синхронизацию документов, вплоть до заблокированных. Для функционирования службы теневого...
Как из негатива сделать позитив в paint
Для преобразования негатива фотографии в позитив достаточно указать фото на вашем компьютере или телефоне, нажать кнопку ОК, подождать пару секунд...
Как написать в подслушано анонимно
Часто приходится сталкиваться с ситуацией, когда нужно отправить в группу какой-либо контент, но не хочется открывать свои персональные данные, чтобы...
Adblock detector