Запуск 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. Автоматически устанавливается одно­пользовательский режим и прямой доступ к системным таблицам. Удаленный доступ запрещается, то есть предоставляется возможность работать с серве­ром только локально.

Для запуска 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 вы можете приостановить его работу и отправить сообщение по сети, предупреждающее пользователей о предстоящей остановке сервера, чтобы они могли корректно закончить работу и сохранить свои данные. Приостановка сервера позволяет подключенным пользователям завершить работу, при этом новые пользователи не смогут установить соедине­ние. После того как все данные успешно сохранены и соединения разорваны, вы сможете спокойно произвести остановку сервера, не опасаясь, что получите выговор от начальника, который не успел сохранить результат дневной работы.

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

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

Чтобы приостановить работу SQL Server, необходимо воспользоваться теми же средствами, что и для запуска, но вместо команды Start (пуск) выбирать команду Pause (пауза). Если необходимо остановить сервер из командной стро­ки, то нужно ввести следующую команду:

net pause mssqlserver

Для продолжения работы приостановленного SQL Server введите команду

net continue mssql server

Соответственно для именованных копий эти команды будут выглядеть сле­дующим образом:

net pause mssqlSinstancename net continue mssql$instancename

 

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

 

Остановка SQL Server

Вы можете остановить сервер 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 всегда осуществляйте приостановку соответствующих служб и рассылку предупреждающего сообщения. Это позволит пользователям корректно завершить свою работу и в то же время предотвратит новые соединения.

 

Правила Безопасности

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

Аналогичные требования существуют и относительно разграничения досту­ па к информации внутри предприятия. Некоторая информация может быть до­ступна всему персоналу, возможно, даже и вашим клиентам. Другая часть информации не должна выходить за рамки отдела. Например, доступ ко всей информации по заработной плате сотрудников должен иметь только работник бухгалтерии, занимающийся ее начислением. Все остальные сотрудники пред­приятия в этом случае владеют информацией только о размере своей заработ­ной платы. Третья категория информации является строго конфиденциальной и должна быть доступна только определенным людям. Примером может служить сведения о собственных оригинальных разработках и технологиях, которые ком­пания стремится уберечь от конкурентов. Выход такой информации за пределы компании может принести большие убытки.

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

В современных условиях, когда информация имеет огромное значение, при­нятие мер для предотвращения несанкционированного доступа, предупрежде­ния потери или повреждения информации становятся неотъемлемой частью работы любой компании. По данным статистики, в США 80 % компаний, по­терявших информацию, прекращали свою деятельность в течение года. Среди оставшихся 20 % около половины просуществовало не более 4 лет.

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

Система управления базами данных Microsoft SQL Server 2000 имеет разно­образные средства обеспечения защиты данных. Эта глава посвящена детально­му знакомству с системой безопасности SQL Server 2000.


Дата добавления: 2019-07-15; просмотров: 1116; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!