Введение
Один из самых важных критериев надежности информационной системы — безопасность СУБД. Атаки, направленные на нее, в большинстве случаев критические, потому что могут частично либо полностью нарушить работоспособность системы. Поскольку крупные организации формировали свою инфраструктуру давным-давно и обновление на новые версии ПО вызывает у них «большие» проблемы, самыми распространенными версиями до сих пор остаются MS SQL Server 2005 и MS SQL Server 2008. Но это всего лишь статистика, и далее мы будем рассматривать общие для всех версий векторы и техники. Для удобства условно разобьем весь процесс пентеста на несколько этапов.
Шаги
Метод 1 из 3:
С помощью аутентификации Windows
-
1
Изучите все нюансы этого метода. Если на сервере включена проверка подлинности Windows, с ее помощью можно войти на сервер без необходимости ввода пароля. Войдя в систему, измените пароль SQL-сервера.
X
Источник информацииЕсли проверка подлинности Windows отключена, воспользуйтесь однопользовательским режимом или командной строкой, чтобы сбросить пароль.
-
2
Убедитесь, что на компьютере установлен SSMS. SSMS — это пользовательский интерфейс, который позволяет изменять различные настройки параметров SQL Server в окне, а не в командной строке. Если у вас нет SSMS, сделайте следующее:
- нажмите на ссылку Скачать SQL Server Management Studio 17.6;
- дважды щелкните по скачанному установочному файлу SSMS;
- следуйте инструкциям на экране, чтобы установить SSMS.
-
3
Запустите SSMS. Введите sql server management studio в меню «Пуск», а затем выберите Microsoft SQL Server Management Studio 17 в верхней части меню.
-
4
Выберите проверку подлинности. В раскрывающемся списке «Проверка подлинности» выберите Проверка подлинности Windows.
-
5
Нажмите на Соединить в нижней части окна. Если в учетной записи включена проверка подлинности Windows, вы окажетесь на панели управления сервером.
-
6
Разверните папку сервера. Если под каталогом сервера в верхней левой части окна нет дополнительных папок, щелкните по значку +, чтобы отобразить их.
-
7Раскройте папку «Безопасность».
-
8
Раскройте папку «Имена входа». Это одна из папок каталога «Безопасность».
-
9Дважды щелкните по пункту sa в папке «Имена входа», чтобы открыть окно свойств системного администратора.
-
10
Введите новый пароль. Введите новый пароль в текстовые поля «Пароль» и «Подтверждение пароля» в верхней части окна.
-
11Нажмите OK в нижней части окна, чтобы изменить пароль и закрыть окно свойств.
Метод 2 из 3:
С помощью однопользовательского режима
-
1
Изучите все нюансы этого метода. Даже если вы заблокируете свою единственную учетную запись, это не помешает вам добавить нового пользователя и присвоить ему права администратора через командную строку. Используйте учетные данные нового пользователя, чтобы попасть на страницу SQL Server и сбросить пароль.
X
Источник информации -
2
Убедитесь, что на компьютере установлен SSMS. SSMS — это пользовательский интерфейс, который позволяет изменять различные настройки параметров SQL Server в окне, а не в командной строке. Если у вас нет SSMS, сделайте следующее:
- нажмите на ссылку Скачать SQL Server Management Studio 17.6;
- дважды щелкните по скачанному установочному файлу SSMS;
- следуйте инструкциям на экране, чтобы установить SSMS.
-
3
Откройте командную строку с правами администратора. Откройте меню Пуск
Метод 3 из 3:
С помощью Командной строки
-
1
Откройте меню «Пуск»
-
2Откройте командную строку. Введите командная строка, а затем выберите ее в верхней части меню «Пуск».
-
-
3Щелкните правой кнопкой мыши по -
4Выберите опцию Запуск от имени администратора.
5
Нажмите Да, чтобы подтвердить запуск командной строки с правами администратора. Откроется окно командной строки.
6
Введите первую команду. Введите osql -L и нажмите ↵ Enter.
X
Источник информации
7
Введите вторую команду с именем сервера. Введите OSQL -S сервер -E, где «сервер» замените именем своего сервера, после чего нажмите ↵ Enter.
8
Создайте новый пароль. Введите sp_password NULL, ‘пароль’, ’sa, где «пароль» замените паролем, который хотите использовать, затем нажмите ↵ Enter
К примеру, чтобы установить пароль «rutabaga123», в командной строке нужно ввести sp_password NULL ‘rutabaga123’, ‘sa.
.
9
Попытайтесь войти в SQL Server, используя учетные данные администратора и новый пароль. Если вам удастся войти в SQL Server, значит, пароль был успешно изменен.
Alternate Method to Reset SA Password In SQL Server Within Clicks
In case, if you unable to change SA password in SQL Server with above solution, then do not worry about it. We have another robust solution named as SysTools SQL Password Recovery , which helps you in changing the SA password using Master.mdf file in few simple clicks.
For this, you need to stop your SQL server services.
Step 1: Open Services and right click on SQL Server then Click on Stop SQL server services
Step 2: Go to the default location of master.mdf file and make a backup copy of both (master.mdf & mastlog.ldf) in another location of your system.
Step 3: Now Download SysTools SQL password recovery and launch in your machine.
Step 4: Click on Browse button to load the master.mdf from default location into the software.
Step 5: After successfully loading the master.mdf, software will scan the file and display the list of Username created on the Server.
Step 6: Click on the User Name for which you want to reset the password and click on Reset Password button
software will again warn you to take backup of master.mdf and mastlog.ldf (Make sure you have taken a backup of both these files). Now, set a new password for your SA & User Login and click on OK
when the password is changed successfully, A message will pop-up. Click OK. Once you have done with the procedure, Go to Services, Right click on SQL server and click on Start to restart the SQL Server Services.
When the process to reset SA password in SQL Server is done, launch SQL Server Management Studio and log in via new password to verify it.
That’s all about how to reset SA Password in Microsoft SQL Server without any fail.
Как исправить ошибки в MS SQL с помощью Recovery Toolbox for SQL Server
Для восстановления поврежденной базы данных можно обратиться к помощи Recovery Toolbox for SQL Server. Для исправления ошибки (Error), следует воспользоваться пошаговой инструкцией восстановления данных из файла *.mdf, который был поврежден. Для этого необходимо:
- Скачать Recovery Toolbox for SQL Server.
- Установить программу следуя инструкциям и запустить ее.
- Из списка файлов выбрать файл *.mdf, который был поврежден.
- Осуществить предварительный просмотр тех данных, которые в процессе выполнения программы могут быть подвергнуты извлечению из базы MS SQL сервер, которая подверглась повреждению.
- Выбрать наиболее приемлемый способ, которым будут экспортироваться данные:
- сохранением на диск в качестве SQL-скрипта;
- выполнением SQL-скрипта в самой БД.
- Произвести выборку информации, требующей восстановления и сохранения.
- Начать восстановление нажатием Start recovery.
Данная программа создавалась, чтобы облегчить процесс восстановления поврежденных БД. Специально разработанная, оптимизированная для восстановления SQL Server, утилита поможет устранить ошибки и внести правки в разные типы повреждений *.mdf файлов и базы данных MS SQL Server.
Как становится понятно, для исправления ошибок и восстановления БД необходимо уметь пользоваться различными инструментами. Читайте, изучайте материалы по данной теме. Если возникнут вопросы – обязательно задавайте.
Way-3: Reset SA password by Single-User Mode
Single-user mode can limit connections to the instance of SQL Server and makes one account that connects to the SQL Server as the sysadmin role in case of all the other logins disabled or something else. We’re going to create a new sysadmin in single-user mode to access the SQL Server and reset the SA password. By the way, if you have other accessible login accounts, resetting the SA password will be easier, referring to .
Part-1: create a new system admin account in single-user mode
Step-1. Head to Start bar and search for the Command prompt. And then right click to run as administrator. (You can also use SQL Server Configuration Manager to set single-user mode.)
Step-2. Execute the command: net stop MSSQLSERVER. And press Enter to the next command: net start MSSQLSERVER -m»SQLCMD». The SQL Server Service was started in single-user mode.
Step-3. Execute the command: sqlcmd, and press the Enter key.
- (1). Then execute another command: CREATE LOGIN name WITH PASSWORD=’password’. Replace the name with a new login name as you like.
- (2). Type in go and press Enter key to end.
- (3). Then execute the command to set the account to the System administrator role. Command: SP_ADDSRVROLEMEMBER name,’SYSADMIN’. You need to replace the name to your new login name.
- (4). Type in go and press enter key to end. And input exit to exit the SQLCMD.
Step-4. Execute the command as below in Command Prompt to stop and restart the SQL Server Service. Then a new SQL Server system admin login account was created.
Part-2: log in to reset SA password in SQL server
Log in to the new system admin (SA) account so that you can reset the old SA password. Here’ is going to reset the SQL Server express SA password.
1. Run MS SQL Server Management Studio.
2. Select SQL Server Authentication from the draw-down list in the Authentication tab.
3. And select/type in your new system admin login account and the password. Click Connect.
4. After login, expand the Security folder from the Object Explorer. And navigate to Logins >> sa. Double click on the sa or right click to select properties.
5. Under the General tab, you can reset the SA password and then confirm the password. Click OK to exit.
Related Articles
- Recover SQL Server SA or other user password with SQL Password Tuner
- Fixed: SQL Server Login Failed Error 18456 for User SA
- How to Change SQL SA Password from a Command Prompt
- How to Change/Reset MS Access Database Password
- How to Reset or Recover Outlook Data File Password
- Locked out of Windows 10 laptop forgot password how to unlock
Сменить пароль sa в sql через командную строку
Чтобы в sql сбросить пароль sa через командную строку воспользуйтесь вот такими командами.
osql -L
Данной командой вы увидите все доступные сервера MS SQL их SPN
Далее вводите команду
osql -S имя сервера-E
далее пишите
sp_password NULL, <вставьте_новый_пароль_тут>, ’sa’
GO
Если вылезет сообщение Password validation failed. The password does not meet Windows policy requirements because it is too short. То задайте более строгий пароль.
Все после этого вы сбросите пароль sa в sql.
Еще вариант использования osql это вот так
cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn
затем мы пытаемся подключиться под доверенной учетной записей ОС
osql.exe» -S (local)\имя вашего сервера -E
И последний рубежALTER LOGIN SA WITH PASSWORD=’new_password’ она заменит пароль на new_password
С помощью программы Asunsoft SQL Password Geeker
Есть утилита Asunsoft SQL Password Geeker, к сожалению платная, но способная выполнить поставленную задачу. Запускаем ее жмем Browse далее идем по пути C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA и открываем master.mdf
теперь, чтобы сбросить пароль sa в sql, выберите его и нажмите Reset.
Сменить пароль sa в монопольном режиме
Есть еще четвертый способ поменять пароль от sa, и заключается он в запуске MS SQL в однопользовательском режиме (single-user mode). Что нам потребуется.
Первое это останавливаем MS SQL Server, можно через службы, а можно и из командной строки
net stop MSSQLSERVER
Далее открываете реестр Windows и переходите в ветку
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ MSSQLSERVER
Теперь вам нужно задать параметр в строке ImagePath -m как раз и будет говорить об однопользовательском режиме. У меня получилось вот так
«C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe» -m -s MSSQLSERVER
Теперь запускаете MS SQL командой
net start MSSQLSERVER
Теперь SQL запущен в однопользовательском режиме и позволяет любому члену локальной группы администраторов компьютера подсоединяться к экземпляру SQL Server с правами sysadmin, но нужно SQL об этом сказать. Посмотреть режим работы можно в свойствах службы.
В командной строке пишем
cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn
sqlcmd.exe:
GO
Перезапускаем службу и радуемся жизни, не забудьте потом убрать параметр -m в реестре. Вот так вот просто сбросить пароль sa в sql, как встроенными методами так и сторонними.
Другие ошибки SQL
Код ошибки SQL-сервера 1814
SQL-сервер не может создать базу данных tempdb. Убедитесь, что на выделенном под нее диске достаточно места и что у учетной записи хватает прав для записи в указанную директорию.
Код ошибки SQL-сервера 1067
Эта ошибка может возникать по разным причинам. Наиболее часто оказывается, что повреждены или отсутствуют конфигурационные файлы, SQL-сервер обращается к поврежденным системным файлам, ошибочные данные пользователя, нет информации про лицензию. В самых тяжелых случаях придется переустанавливать SQL-сервер. Но иногда помогает восстановление поврежденных файлов или изменение настроек SQL-сервера – вы можете создать новую учетную запись в домене и использовать ее для службы MSSQL.
SQL-сервер запускается, но работает слишком медленно
Проанализируйте журнал сервера, индексы (фрагментацию), запросы, задания, возможность взаимных блокировок. Причин может быть масса.
Мы работаем с разными версиями SQL-сервера уже много лет, знакомы со всевозможными инструкциями SQL-сервера, видели самые разные варианты его настройки и использования на проектах у своих клиентов. В целом мы можем выделить четыре основных источника неполадок:
- Индексы – причина проблем номер один. Неправильные индексы, отсутствующие индексы, слишком много индексов и подобное. Чаще всего при проблеме с индексами пользователи или администраторы базы данных не получают сообщения об ошибке, они просто видят, что база работает очень медленно и докопаться до причин бывает очень нелегко
- изначально плохая архитектура сервера баз данных – ошибка, которую очень сложно и дорого исправлять на этапе, когда база уже используется
- плохой код, в котором возможны блокировки и тупиковые места
- использование конфигурации по умолчанию,
голоса
Рейтинг статьи
Метод 1 из 3: Аутентификация Windows
-
Понять, как работает этот метод.
Если аутентификация Windows не включена, вы должны либо использовать однопользовательский режим, либо использовать командную строку для сброса пароля.
Если для вашего сервера активирована аутентификация Windows, вы можете войти на свой сервер без ввода пароля. После входа в систему вы можете легко изменить пароль SQL Server.
-
Убедитесь, что SSMS установлен. SSMS — это интерфейс, с помощью которого вы можете изменять различные аспекты настроек вашего SQL-сервера в окне, а не в командной строке. Если у вас не установлена SSMS, сделайте следующее:
- Перейдите на страницу установки SSMS в браузере.
- Нажмите на ссылку Загрузить SQL Server Management Studio 17.6.
- Дважды щелкните по загруженному файлу установки SSMS.
- Следуйте инструкциям на экране для установки SSMS.
- Откройте SSMS. метчик студия управления sql сервером в Пуск, а затем нажмите в верхней части окна Пуск Microsoft SQL Server Management Studio 17.
-
Выберите правильную аутентификацию. Нажмите раскрывающийся список «Аутентификация», затем нажмите на меню Проверка подлинности Windows.
- Нажмите внизу окна подключения . Если для вашей учетной записи пользователя разрешена проверка подлинности Windows, вы попадете на панель управления вашего сервера.
- Разверните папку на сервере. Если в папке сервера не отображается несколько параметров ниже в левом верхнем углу окна, щелкните слева +расширить его.
-
Разверните папку «Безопасность» под именем сервера.
- Разверните папку «Логины». Вы можете найти его в группе «Опции» в папке «Безопасность».
- В группе «Логины» дважды щелкните «Параметры». Сб. Откроется окно свойств для системного администратора.
- Введите новый пароль. Введите новый пароль в два поля «Пароль» и «Подтверждение пароля» в верхней части окна.
- Нажмите внизу окна хорошо. Это меняет пароль и закрывает окно свойств.
Using third party software
Another way to quickly recover the Administrator password is by using third party software to accomplish this task. Generally this form of unlocking is preferred by people who run SQL Server banks and do not have much technical knowledge (yes, it does) and end up opting to pay for these tools.
When you have tried ALL of the other alternatives and have not been able to recover (if all users are locked), you can use one of these tools as an option as it does not require a database connection as the tool acts directly on the file. Database Master MDF and alters the bits by forcing the password change, almost a cracker procedure.
Some of the best known tools for this are:
— SQL Server Password Geeker
— Elcomsoft Advanced SQL Password Recovery
— MS SQL Server Password Unlocker
That’s it folks!
To the next
Как сбросить пароль SA?
Как же вы сбросите пароль sa? Я знаю, как войти в диалоги и сбросить пароль. Вот теперь то, что я прошу об. Он работает немного глубже, чем просто щелчок, щелчок, новый пароль, готово!
Я понятия не имею, что такое пароль SA. Как и предыдущий пользователь этой машины. Предыдущий пользователь говорит, что у него никогда не было SQL Express, когда-либо работавшего на этой машине.
Это путешествие началось, когда я попытался создать новую базу данных, и мне сказали, что у меня нет на это разрешений. Ладно, я решил просто дать себе соответствующие разрешения. Нет, я не могу дать разрешения ни себе, ни кому-либо другому.
Я попытался изменить пароль, используя SSMS. Я получаю сообщение о том, что у меня нет прав на его изменение.
Я попробовал использовать следующий сценарий SQL. Опять же, никаких разрешений.
База данных SQL Server 2008 Express (10.0.2531.0). SQL Server Management Studio — это SSMS 2008. OS — это Windows 7 предприятие Я местный администратор и пользователь домена. Я создал локальную учетную запись администратора для входа в SSMS Машина находится в домене. У меня нет проблем с подключением к нашим сетевым серверам баз данных.
Есть предложения? Это может быть простым решением. Спасибо.
4 ответа
Я использую версию apache-archiva-2.2.0. Я потерял пароль администратора, поэтому я хочу сбросить пароль пользователя admin. Я попытался сбросить пароль через удаление нижеуказанных файлов. ./apache-archiva-2.2.0/data/databases/users/dbex.lck ./apache-archiva-2.2.0/data/databases/users/db.lck Но.
Я использую SQL server 2008 r2. Когда я устанавливал, у меня был выбран смешанный режим проверки подлинности SQL. Я дал sa в качестве имени пользователя и дал какой-то пароль, а потом забыл пароль. Я не знаю, как изменить пароль пользователя или удалить его и создать новый вход пользователя?
Это должно помочь: запустите SQL Server в однопользовательском режиме. Это позволит локальным администраторам подключаться в качестве фиксированной роли сервера sysadmin. Подробное описание того, как это сделать, можно найти здесь .
люди также могут попытаться изменить пароль таким образом с помощью приведенного ниже SP
надежда может помочь другим. спасибо
Вы можете использовать: командлет Reset-DbaAdmin Powershell из https://dbatools.io .
Самый простой метод, который я нашел до сих пор, — это запустить SQL Server Management Studio / SQL Express в контексте SYSTEM с приложением Sysinternals PSEXEC. После установки (копирования psexec.exe на ваш компьютер, запуска его и принятия EULA) вы можете ввести следующее, чтобы вызвать экземпляр системного контекста:
Вы можете использовать GUI и не требовать однопользовательского режима для внесения изменений. У меня были проблемы с неизвестным клиентом, связывающим соединение snigle-user, и это спасло меня.
Похожие вопросы:
Я вошел в свой sqlserver с зарегистрированной учетной записью sa sql и Я хочу распечатать (не менять) свой текущий пароль. Я могу изменить его, но у меня есть приложение, использующее текущий.
Я являюсь локальным администратором на своем компьютере, как я могу изменить пароль sa моей локальной установки sql server 2008? Примечание: Я не знаю пароля для учетной записи sa
Вскоре после того, как я установил MS SQL Server 2008 на свою машину, я забыл пароль AND имя пользователя, которое я выбрал. Как я могу их сбросить? Этот вопрос кажется многообещающим, но у меня он.
Я использую версию apache-archiva-2.2.0. Я потерял пароль администратора, поэтому я хочу сбросить пароль пользователя admin. Я попытался сбросить пароль через удаление нижеуказанных файлов.
Я использую SQL server 2008 r2. Когда я устанавливал, у меня был выбран смешанный режим проверки подлинности SQL. Я дал sa в качестве имени пользователя и дал какой-то пароль, а потом забыл пароль.
Моя учетная запись Windows имеет права администратора на локальном экземпляре SQL. Я могу изменить пароль на SA пользователя, но когда я пытаюсь войти в систему с помощью SA с режимом аутентификации.
Как я могу сбросить пароль администратора ATG Dynamo? Мне нужны шаги, чтобы сбросить / изменить пароль, начиная с значения по умолчанию admin/admin .
Я забыл свой пароль sa и уже отключил режим аутентификации windows. Как я могу сбросить СА SQL Server пароль аутентификации windows гостей с ограниченными физическими ему TNX заранее
У меня есть ноутбук, на котором уже установлен SQL Server Express. Имя сервера -SRH\SQLEXPRESS, а версия- 10.0.2531.0 . Операционная система-Windows 7. Я могу подключиться к нему через.
Обычная настройка с Docker: два контейнера linux, один с ядром .NET WebServer, использующим EntityFramework, другой С MS-SQLServer 2017. Постоянные данные хранятся в томе Docker. Используя.
How To Fix SQL Error Code 4064
To get rid of the error «Cannot open user default database login failed» different methods need to be adopted depending on the server environment, to alter user’s default database to a database that is available for a connection.
In SQL version 2000 and 7.0 — OSQL utility can be used to change the default database. For recovery using OSQL tool following steps are required.
- In the command prompt window, type ‘C :> osql -E -d master’ and press Enter key.
- At the OSQL prompt, type ‘1>sp_defaultdb ‘user’s_login’, ‘master» and press Enter.
- Type ‘2>go’ and then press Enter button, at second prompt.
In SQL Server 2005 and newer releases — SQLCMD utility can be used to change the default database of server. Following are the steps for the process:
Step1 — Go for Start, click Run, type «cmd» and press Enter.
Step2 — Use one of the following methods, depending on the nature of authentication that SQL login utilizes:
- If Windows authentication is used to connect to the instance, type «sqlcmd –E -S InstanceName –d master» at the command prompt and then press Enter key.
- If SQL Server authentication is used to connect to the instance, type the command «sqlcmd -S InstanceName -d master -U SQLLogin -P Password» and then Enter.
Step3 — At sqlcmd prompt, type in «ALTER LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName» and then press Enter.
Note — AvailDBName is a placeholder for the name of existing database that can be accessed in instance by SQL Server login.
Step4 — Then at ‘sqlcmd prompt’, GO should be typed in and then Enter should be pressed.
Important Note – It can be said that methods discussed above certainly prove to be successful to fix SQL error number 4064. But problem arises when the database file is protected with a password which is unknown. At times of unknown password an external tool becomes necessary to be employed. A third party software application named SQL password recovery tool is a good option to erase and reset SQL database file password. To use this tool SQL Server should be installed on the system but should be stopped while loading primary file to execute.
Using PsExec
A fantastic utility from sysinternals, PsExec lets you run applications using the NT AUTHORITY \ SYSTEM user, who has native access to SQL Server.
To perform password recovery, simply download PsExec on this link, extract to a local folder on your server and run the commands below at the Command Prompt (as Administrator), where the -s parameter is for using the system account, while -i enables interactive mode:
MS DOS
cd C:\PSTools
PsExec.exe -s -i «C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe»
1 |
cdC\PSTools PsExec.exe -s -i»C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe» |
Now just create, change, or enable the users you need to administer your instance.
Steps to SQL Express sysadmin access
In order to gain sysadmin access to the SQL instance there were a few things that I needed to accomplish. Here is the basic goals I needed to achieve:
- Change the login method from Windows Authentication to Mixed mode
- Enable the sa user account
- Reset the password to the sa user account
Doesn’t seem like that daunting of a list does it? I didn’t think so either.
Change the login method
In order to change the login method I had to change a registry setting. Why, you ask? Because, I say, we don’t have sysadmin rights so we can’t just change the database properties using SSMS.
- Open the registry editor
- Navigate to…
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.10.SQLEXPRESS\MSSQLServer
Change the value of LoginMode from 1 to 2
Close the registry editor
One thing to note is I had a few different options under the “Microsoft SQL Server” branch so you may need to take an educated guess if yours is different.
Enable the sa user account and reset its password
I lumped these two into one section because the commands for them are entered at the same place.
- Open the Services applet in the Control Panel
- Find the “SQL Server (SQLEXPRESS)” entry and open its properties
- Stop the service
- Enter “-m” into the “Start parameters” field
- Start the service
- Open a Command Prompt
- Enter the command:
osql -S PC_NAME\SQLEXPRESS -E
Be sure to change PC_NAME to whatever your PC name is or you will get a big long message saying you messed up.
At the next prompts enter the following commands:
1> alter login sa enable 2> go 1> sp_password NULL,'new_password','sa' 2> go 1> quit
Stop the “SQL Server (SQLEXPRESS)” service
Remove the “-m” from the Start parameters field
Start the service
At this point you should be able to login to SSMS using the sa user account and the new password you gave it.
«Не удаётся найти указанного поставщика»(или «Не найдена указанная процедура», или «Неизвестное имя класса»,или «Разрушительный сбой»)при подключении к БД
Проблема: иногда после установки автоматических обновлений Windows (или по другим неустановленным причинам) на компьютере происходит повреждение системных компонентов доступа к базам данных «Microsoft/Windows Data Access Components» (MDAC/WDAC), в частности их составляющих – «ActiveX Data Objects» (ADO) и/или «OLEDB-провайдеров».
Решение:
Поскольку, начиная с Windows XP SP2 и Server 2003, данные компоненты (MDAC) считаются неотъемлемой частью операционной системы, а, начиная с Windows Vista и Server 2008, они переименованы в «Windows Data Access Components» (WDAC) и более не распространяются в виде отдельного инсталлятора, то наилучшим решением является переустановка операционной системы или восстановление ее из резервной копии (при наличии таковой) на состояние до сбоя.
Однако в виду трудоемкости данной операции можно для начала попробовать (на свой страх и риск) более «мягкие» способы решения проблемы, которые будут различаться в зависимости от установленной версии Windows:
Для старых ОС (до Windows XP SP1 включительно): Достаточно просто переустановить компоненты MDAC, скачав инсталлятор с сайта Microsoft.
Для Windows XP SP2/SP3 и Server 2003:
Вариант 1 (только для XP). Воспользоваться вышеупомянутым инсталлятором, однако перед его запуском зайти в свойства файла MDAC_TYP.EXE и включить режим совместимости с Windows 2000. Это позволит избежать сообщения о «несовместимости с данной версией Windows», но по сути будут установлены ровно те же компоненты, что идут в составе Windows XP SP2/SP3.
Вариант 2. Переустановить только компоненты MDAC, используя оригинальный дистрибутив Windows, с которого происходила установка ОС. Для этого, открыть папку C:\Windows\Inf (если ее не видно, включить показ скрытых папок/файлов в «свойствах папки»), нажать правой кнопкой мыши на файле MDAC.INF и выбрать пункт «Установить». При первом запросе «вставить диск» указать путь C:\Windows\ServicePackFiles\i386, при втором – путь к папке i386 дистрибутива Windows, с которого происходила первоначальная установка ОС. Более подробно можно прочитать в статье Microsoft.
Вариант 3 (частичное восстановление!). Скопировать с другого компьютера (где установлена такая же ОС и все работает) содержимое папок:
C:\Program Files\Common Files\System\ado
C:\Program Files\Common Files\System\Ole DB
И зарегистрировать основные DLL командами (Пуск→Выполнить):
regsvr32 «C:\Program Files\Common Files\System\ado\msado15.dll»
regsvr32 «C:\Program Files\Common Files\System\Ole DB\oledb32.dll»
regsvr32 «C:\Program Files\Common Files\System\Ole DB\sqloledb.dll»
Для Windows Vista, Sever 2008 и более поздних:
Для этих ОС изначально не существует отдельно распространяемого инсталлятора WDAC, кроме того, там применяется технология Windows File Protection (WFP), которая защищает системные файлы от любых «несанкционированных» изменений, поэтому единственный возможный способ избежать переустановки системы – это как раз понадеяться, что WFP восстановит поврежденные файлы WDAC.
Чтобы запустить сканирование системы с восстановлением поврежденных файлов надо зайти в меню «Пуск→Все программы→Стандартные», нажать правой кнопкой мыши на пункте «Командная строка» и выбрать «Запуск от имени администратора». В окне командной строки набрать команду и нажать Enter: SFC /SCANNOW
Если ничего не будет восстановлено или это не поможет, то можно попробовать из той же командной строки выполнить регистрацию DLL-файлов, перечисленных в вар.3 предыдущего раздела.
Кроме того, теоретически может помочь откат последних обновлений (которые привели к сбою) и/или установка последнего ServicePack для данной ОС.
- если выше указанные действия не помогли, скопировать целиком обе папки OLEDB и ADO с другой машины с АНАЛОГИЧНОЙ операционкой и также перерегистрировать указанные dll-ки
- установить/переустановить SQL сервер на проблемной машине
- если все перечисленные способы не помогли, попробовать сделать откат системы, либо переустановить операционку