Для запуска службы SQLAgent требуется следующая команда: net start SQLAgentSTRELON
Выполнение команды net start без имени службы приведет к выводу списка запущенных в операционной системе служб.
О Для запуска SQL Server можно также использовать команду sqlservr. В этом случае SQL Server 2000 запускается не как служба, а как отдельное приложение. Это означает, что все средства администрирования (Service Manager, Enterprise Manager, Services в панели управления) будут показывать, что сервер остановлен. Использование команды net stop mssql server для остановки SQL Server в этом случае выдаст сообщение об ошибке, так как система считает, что сервер не запущен. Все системные сообщения будут появляться в консольном окне, в котором выполнена команда sqlservr. Сервер будет запускаться под учетной записью пользователя, работающего в системе в данный момент, и если этот пользователь решит завершить сеанс работы в операционной системе, ему придется сначала завершить работу SQL Server.
При некоторых обстоятельствах бывает необходимо запустить SQL Server в однопользовательском режиме — например, чтобы выполнить конфигурирование важных характеристик сервера или восстановить поврежденную системную базу данных.
В однопользовательском режиме служба MSSQLServer поддерживает только одно соединение. Так как дополнительные службы SQL Server 2000, подобно обычным пользователям, устанавливают клиентские соединения, то необходимо убедиться, что эти службы, например SQLServerAgent или SQLMail, не запущены. В противном случае вы сами не сможете получить доступ к серверу,
поскольку единственное возможное соединение будет уже задействовано. Убедитесь, что клиентские приложения, обращающиеся к SQL Server (такие как Internet Information Server), также остановлены.
При однопользовательском режиме «грязные» страницы (dirty pages) немедленно записываются на диск. Это означает, что данные, которые были изменены после считывания, сразу окажутся на диске, а не в кэш-памяти, как это бывает при обычной работе.
Другой особенностью работы в однопользовательском режиме является то, что разрешен прямой доступ к системным таблицам, по умолчанию запрещенный при обычной работе. Прямой доступ к системным таблицам позволяет модифицировать системные данные (структуру таблиц, пользователей, настройки репликации и т.д.) непосредственно командами INSERT, DELETE и UPDATE. В обычных условиях подобная модификация производится с использованием хранимых процедур и административных утилит.
Прямой доступ к системной информации требует очень высокой квалификации и специальных знаний. Большинству пользователей и системных администраторов будет достаточно средств, предоставляемых интерфейсом SQL Server.
Для запуска SQL Server 2000 в однопользовательском режиме введите следующую команду.
sqlservr.exe -т
В некоторых случаях, например после применения неправильных параметров конфигурации, SQL Server при следующем запуске не сможет стартовать, в результате чего вы не сможете отменить сделанные изменения. В этом случае необходимо запустить SQL Server с минимальными требованиями. Это своего рода аварийный запуск SQL Server. В таком режиме количество открытых баз данных, таблиц, открытых объектов, размер кэша процедур и т. д. минимально. Запрещается выполнение хранимых процедур, автоматически запускаемых при каждом старте SQL Server. Автоматически устанавливается однопользовательский режим и прямой доступ к системным таблицам. Удаленный доступ запрещается, то есть предоставляется возможность работать с сервером только локально.
Для запуска SQL Server 2000 как службы с минимальными требованиями введите следующую команду: sqlservr.exe -f
Если необходимо незамедлительно запустить SQL Server 2000 с минимальными требованиями как приложение, выполните следующую команду: sqlservr.exe -f -с
Перед запуском SQL Server с минимальными требованиями убедитесь, что сервер остановлен и никакие дополнительные службы или приложения, которые могут блокировать единственное соединение, не запущены.
После установки SQL Server программа установки заносит в реестр набор базовых параметров запуска для SQL Server. Если вы не хотите использовать параметры по умолчанию, то для запуска SQL Server в нестандартной конфигурации можете воспользоваться ключами, перечисленными в табл.
Таблица. Дополнительные ключи sqlservr.exe
Ключ |
Описание |
-d < master_file_path > -е< error_log_path > -I < masterjog_path > |
Используйте этот ключ для запуска SQL Server с другой системной базой данных master. Укажите полный путь к этой базе данных, обычно это
\Program files\Microsoft SQL Server\MSSQL\Data\Master.mdf Если этот ключ не указан, используются значения из реестра
Позволяет использовать дополнительный журнал ошибок. Укажите полный путь к файлу журнала, обычно это \Program files\Microsoft SQL Server\MSSQL\Log\Errorlog
Используйте этот ключ для подключения указанного журнала транзакций для системной базы данных master. Укажите полный путь к файлу журнала, обычно это \Program files\Microsoft SQL Server\MS5QL\Data\Mastlog.Idf
Ключ реестра, создаваемый программой установки и содержащий параметры запуска SQL Server 2000 по умолчанию, находится в реестре .
Вы можете редактировать значения в реестре для подключения другой базы данных master. Автор использовал эту возможность, когда работал с двумя операционными системами на одном компьютере и нужно было работать с данными из обеих систем. Для этого пришлось только изменить ссылку на базу данных master, ее журнал транзакций и журнал ошибок.
Вы можете создать свою собственную конфигурацию, сохранив все необходимые параметры запуска сервера в реестре. Создайте копию стандартных ключей (SQLArgO, SQLArgl или SQLArg2), изменив имя, например, на SingleUser. Затем отредактируйте строку данных для указания нужных параметров.
Чтобы запустить SQL Server с новым ключом реестра, введите следующую команду: Sqlservr.exe -sSingleUser
Здесь SingleUser — имя конфигурации.
Перед остановкой сервера SQL Server вы можете приостановить его работу и отправить сообщение по сети, предупреждающее пользователей о предстоящей остановке сервера, чтобы они могли корректно закончить работу и сохранить свои данные. Приостановка сервера позволяет подключенным пользователям завершить работу, при этом новые пользователи не смогут установить соединение. После того как все данные успешно сохранены и соединения разорваны, вы сможете спокойно произвести остановку сервера, не опасаясь, что получите выговор от начальника, который не успел сохранить результат дневной работы.
Если вы выполняете остановку сервера без его предварительной приостановки, то все активные соединения немедленно закрываются независимо от того, сохранили пользователи свои данные или нет. В таком случае вы очень скоро узнаете, что думают ваши коллеги по поводу подобных действий и вашей компетентности.
При желании вы можете после приостановки возобновить работу сервера в нормальном режиме.
Чтобы приостановить работу SQL Server, необходимо воспользоваться теми же средствами, что и для запуска, но вместо команды Start (пуск) выбирать команду Pause (пауза). Если необходимо остановить сервер из командной строки, то нужно ввести следующую команду:
net pause mssqlserver
Для продолжения работы приостановленного SQL Server введите команду
net continue mssql server
Соответственно для именованных копий эти команды будут выглядеть следующим образом:
net pause mssqlSinstancename net continue mssql$instancename
Вы не можете приостановить работу сервера, если он запущен командой sqlservr.exe, так как в этом случае сервер работает как самостоятельное приложение, а не как служба операционной системы.
Вы можете остановить сервер SQL Server 2000, если он запущен как служба, как локально (на том же сервере, на котором он запущен), так и удаленно (с клиентского компьютера или другого сервера SQL Server), используя один из следующих методов.
О SQL Server Enterprise Manager останавливает локальный или удаленный сервер SQL Server либо службу SQLServerAgent.
О SQL Server Service Manager останавливает локальный или удаленный сервер SQL Server либо службу SQLServerAgent из одного окна (в одном окне можно управлять работой всех служб).
О Команда SHUTDOWN языка Transact-SQL применяется для остановки SQL Server из клиентского приложения при выполнении запросов, например из утилиты osql или Query Analyzer. Используйте команду SHUTDOWN с параметром WITH NOWAIT для незамедлительной остановки сервера.
О Команда net stop mssql server (net stop mssql Sinstancename - для именованных копий) останавливает локальный или удаленный SQL Server, если вы работаете в Windows NT.
О Утилита Services (службы) окна Control Panel (панель управления) останавливает локальный сервер SQL Server.
О Комбинация клавиш CTRL+C останавливает сервер SQL Server, если он запущен из командной строки командой sqlservr.exe.
При завершении работы все данные из кэша сохраняются на диск, кроме случая, когда остановка сервера производится с помощью комбинации клавиш CTRL+C. В этом случае сохранения данных не происходит, в результате время последующего запуска сервера увеличивается, так как необходимо выполнить фиксацию законченных и откат незавершенных транзакций.
SQL Server 2000 ожидает завершения всех активных команд Transact-SQL и хранимых процедур, и только после их завершения происходит остановка сервера. Однако если вы останавливаете сервер командой SHUTDOWN WITH NOWAIT, остановка происходит незамедлительно вне зависимости от того, все ли активные операции завершены.
Перед остановкой SQL Server 2000 всегда осуществляйте приостановку соответствующих служб и рассылку предупреждающего сообщения. Это позволит пользователям корректно завершить свою работу и в то же время предотвратит новые соединения.