Run Microsft SQL Server Studio as administrator….your problem will be solved
answered Sep 8, 2014 at 19:20
2
It’s very clear: the credential you are using doesn’t have enough privileges to be able to create a new database. Are you logged in using Integrated Windows Authentication or Sql Server Authentication? Make sure your credentials have the dbcreator role either way.
http://msdn.microsoft.com/en-us/library/ms176014%28v=SQL.90%29.aspx
answered Nov 10, 2010 at 17:53
IcarusIcarus
63.2k14 gold badges99 silver badges115 bronze badges
1
If the computer is part of Domain. Log-in as local administrator account on the work station (maybe because the MSQSQL is installed on the computer using local administrator account, means that the local administrator account has systemadmin access on SMSQL), then when you are already logged as local administrator. open the MSSQL , now add/edit MSSQL security account.
answered Apr 10, 2015 at 3:49
I had this same problem. but solved!
you should go to your specify folder where database created (ex:C:Program FilesMicrosoft SQL ServerMSSQL14.MSSQLSERVERMSSQLDATA)
then right click on data folder -> properties-> advanced
then uncheck compress content to save disk space.
that’s it.
answered May 30, 2019 at 7:54
Well, the error message seems to be pretty clear:
CREATE DATABASE permission denied in
database ‘master’.
Obviously, the user account you’re using doesn’t have the permission to create a new database. Is that possible? What kind of user are you using?
Also: can you show us the CREATE DATABASE
statement you’re using??
answered Nov 10, 2010 at 17:53
marc_smarc_s
729k175 gold badges1327 silver badges1455 bronze badges
Just check whether path is specified or not
For example : «C:..MSSQLDATA», in both the columns of Database files in the New Database wizard
answered Feb 13, 2015 at 7:05
I hope this solution will help someone!
My problem started when I had deleted the previous user from PC Management and from registry. Then I create a fresh-std user. and trying to create database from the new user, and that’s where my problem started.
After searching for the better solution, I conclude by Uninstalling MS Server Express Database completely from my PC and re-install it again. This save time and solved my problem.
I hope this solution helps someone too!
answered May 24, 2019 at 11:45
PatsonLeanerPatsonLeaner
1,23015 silver badges26 bronze badges
I had similar issue and was solved by executing below command
--Step1 Find if it is used by some other PID
Use
master
GO
IF
EXISTS(SELECT request_session_id FROM
sys.dm_tran_locks
WHERE resource_database_id =
DB_ID('Model'))
PRINT
'Model Database being used by some other session'
ELSE
PRINT
'Model Database not used by other session'
-- Step 2 - Identify
SELECT request_session_id FROM
sys.dm_tran_locks
-- Step 3 Get PID
WHERE resource_database_id =
DB_ID('Model')
-- Step 4 Get the EventInfo
DBCC InputBuffer(214)
-- Step 5 Kill the PID
Kill 214
Hope this helps
answered Aug 2, 2019 at 2:15
DufferDuffer
2561 silver badge14 bronze badges
I had the same problem when trying to create the database with Right Click + New Database on Databases.
The solve was using New Query and the command to create database:
CREATE DATABASE databasename;
In the end I want to mention that I was logged in Management Studio with (localdb)v11.0 over windows authentication.
answered Aug 24, 2017 at 20:07
Calin VlasinCalin Vlasin
1,2911 gold badge15 silver badges21 bronze badges
1
Проблемы
Предположим, что вы используете Microsoft SQL server 2017 Express LocalDB (SqlLocalDB). При создании базы данных появляется сообщение об ошибке, подобное следующему:
Сообщение 5123, уровень 16, состояние 1, строка 1
Ошибка при создании файла: 5 (в доступе отказано). При попытке открыть или создать физический файл «C:Usersusername_dbfilename. mdf».
Сообщение 1802, уровень 16, состояние 4, строка 1
Не удалось создать базу данных. Не удалось создать некоторые имена файлов в списке. Проверьте связанные ошибки.
Решение
Исправление для этой проблемы включено в накопительный пакет обновления 6 для SQL Server 2017.
Сведения о сборках SQL Server 2017
Каждая новая сборка для SQL Server 2017 включает в себя все исправления и исправления для системы безопасности, описанные в предыдущей сборке. Мы рекомендуем установить последнюю сборку для SQL server 2017.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».
Ссылки
Ознакомьтесь со стандартной терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
- Download the script from this Microsoft Site
- Run it as Administrator
- Follow the instructions and your set.
UPDATE 9/3/2014
The Microsoft URL above is no longer valid, someone thou took the time to save it to GitHubGist and the link is as follows https://gist.github.com/wadewegner/1677788
UPDATE 11/1/2021
Below is the entire script, don’t recall being able to do this back in 2014, I guess this one of the perks of 2021.
@echo off
rem
rem ****************************************************************************
rem
rem Copyright (c) Microsoft Corporation. All rights reserved.
rem This code is licensed under the Microsoft Public License.
rem THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
rem ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
rem IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
rem PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
rem
rem ****************************************************************************
rem
rem CMD script to add a user to the SQL Server sysadmin role
rem
rem Input: %1 specifies the instance name to be modified. Defaults to SQLEXPRESS.
rem %2 specifies the principal identity to be added (in the form "<domain><user>").
rem If omitted, the script will request elevation and add the current user (pre-elevation) to the sysadmin role.
rem If provided explicitly, the script is assumed to be running elevated already.
rem
rem Method: 1) restart the SQL service with the '-m' option, which allows a single connection from a box admin
rem (the box admin is temporarily added to the sysadmin role with this start option)
rem 2) connect to the SQL instance and add the user to the sysadmin role
rem 3) restart the SQL service for normal connections
rem
rem Output: Messages indicating success/failure.
rem Note that if elevation is done by this script, a new command process window is created: the output of this
rem window is not directly accessible to the caller.
rem
rem
setlocal
set sqlresult=N/A
if .%1 == . (set sqlinstance=SQLEXPRESS) else (set sqlinstance=%1)
if /I %sqlinstance% == MSSQLSERVER (set sqlservice=MSSQLSERVER) else (set sqlservice=MSSQL$%sqlinstance%)
if .%2 == . (set sqllogin="%USERDOMAIN%%USERNAME%") else (set sqllogin=%2)
rem remove enclosing quotes
for %%i in (%sqllogin%) do set sqllogin=%%~i
@echo Adding '%sqllogin%' to the 'sysadmin' role on SQL Server instance '%sqlinstance%'.
@echo Verify the '%sqlservice%' service exists ...
set srvstate=0
for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j
if .%srvstate% == .0 goto existerror
rem
rem elevate if <domain/user> was defaulted
rem
if NOT .%2 == . goto continue
echo new ActiveXObject("Shell.Application").ShellExecute("cmd.exe", "/D /Q /C pushd ""+WScript.Arguments(0)+"" & ""+WScript.Arguments(1)+"" %sqlinstance% ""+WScript.Arguments(2)+""", "", "runas"); >"%TEMP%addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js"
call "%TEMP%addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js" "%cd%" %0 "%sqllogin%"
del "%TEMP%addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js"
goto :EOF
:continue
rem
rem determine if the SQL service is running
rem
set srvstarted=0
set srvstate=0
for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j
if .%srvstate% == .0 goto queryerror
rem
rem if required, stop the SQL service
rem
if .%srvstate% == .1 goto startm
set srvstarted=1
@echo Stop the '%sqlservice%' service ...
net stop %sqlservice%
if errorlevel 1 goto stoperror
:startm
rem
rem start the SQL service with the '-m' option (single admin connection) and wait until its STATE is '4' (STARTED)
rem also use trace flags as follows:
rem 3659 - log all errors to errorlog
rem 4010 - enable shared memory only (lpc:)
rem 4022 - do not start autoprocs
rem
@echo Start the '%sqlservice%' service in maintenance mode ...
sc start %sqlservice% -m -T3659 -T4010 -T4022 >nul
if errorlevel 1 goto startmerror
:checkstate1
set srvstate=0
for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j
if .%srvstate% == .0 goto queryerror
if .%srvstate% == .1 goto startmerror
if NOT .%srvstate% == .4 goto checkstate1
rem
rem add the specified user to the sysadmin role
rem access tempdb to avoid a misleading shutdown error
rem
@echo Add '%sqllogin%' to the 'sysadmin' role ...
for /F "usebackq tokens=1,3" %%i in (`sqlcmd -S np:\.pipeSQLLocal%sqlinstance% -E -Q "create table #foo (bar int); declare @rc int; execute @rc = sp_addsrvrolemember '$(sqllogin)', 'sysadmin'; print 'RETURN_CODE : '+CAST(@rc as char)"`) do if .%%i == .RETURN_CODE set sqlresult=%%j
rem
rem stop the SQL service
rem
@echo Stop the '%sqlservice%' service ...
net stop %sqlservice%
if errorlevel 1 goto stoperror
if .%srvstarted% == .0 goto exit
rem
rem start the SQL service for normal connections
rem
net start %sqlservice%
if errorlevel 1 goto starterror
goto exit
rem
rem handle unexpected errors
rem
:existerror
sc query %sqlservice%
@echo '%sqlservice%' service is invalid
goto exit
:queryerror
@echo 'sc query %sqlservice%' failed
goto exit
:stoperror
@echo 'net stop %sqlservice%' failed
goto exit
:startmerror
@echo 'sc start %sqlservice% -m' failed
goto exit
:starterror
@echo 'net start %sqlservice%' failed
goto exit
:exit
if .%sqlresult% == .0 (@echo '%sqllogin%' was successfully added to the 'sysadmin' role.) else (@echo '%sqllogin%' was NOT added to the 'sysadmin' role: SQL return code is %sqlresult%.)
endlocal
- Download the script from this Microsoft Site
- Run it as Administrator
- Follow the instructions and your set.
UPDATE 9/3/2014
The Microsoft URL above is no longer valid, someone thou took the time to save it to GitHubGist and the link is as follows https://gist.github.com/wadewegner/1677788
UPDATE 11/1/2021
Below is the entire script, don’t recall being able to do this back in 2014, I guess this one of the perks of 2021.
@echo off
rem
rem ****************************************************************************
rem
rem Copyright (c) Microsoft Corporation. All rights reserved.
rem This code is licensed under the Microsoft Public License.
rem THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
rem ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
rem IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
rem PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
rem
rem ****************************************************************************
rem
rem CMD script to add a user to the SQL Server sysadmin role
rem
rem Input: %1 specifies the instance name to be modified. Defaults to SQLEXPRESS.
rem %2 specifies the principal identity to be added (in the form "<domain><user>").
rem If omitted, the script will request elevation and add the current user (pre-elevation) to the sysadmin role.
rem If provided explicitly, the script is assumed to be running elevated already.
rem
rem Method: 1) restart the SQL service with the '-m' option, which allows a single connection from a box admin
rem (the box admin is temporarily added to the sysadmin role with this start option)
rem 2) connect to the SQL instance and add the user to the sysadmin role
rem 3) restart the SQL service for normal connections
rem
rem Output: Messages indicating success/failure.
rem Note that if elevation is done by this script, a new command process window is created: the output of this
rem window is not directly accessible to the caller.
rem
rem
setlocal
set sqlresult=N/A
if .%1 == . (set sqlinstance=SQLEXPRESS) else (set sqlinstance=%1)
if /I %sqlinstance% == MSSQLSERVER (set sqlservice=MSSQLSERVER) else (set sqlservice=MSSQL$%sqlinstance%)
if .%2 == . (set sqllogin="%USERDOMAIN%%USERNAME%") else (set sqllogin=%2)
rem remove enclosing quotes
for %%i in (%sqllogin%) do set sqllogin=%%~i
@echo Adding '%sqllogin%' to the 'sysadmin' role on SQL Server instance '%sqlinstance%'.
@echo Verify the '%sqlservice%' service exists ...
set srvstate=0
for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j
if .%srvstate% == .0 goto existerror
rem
rem elevate if <domain/user> was defaulted
rem
if NOT .%2 == . goto continue
echo new ActiveXObject("Shell.Application").ShellExecute("cmd.exe", "/D /Q /C pushd ""+WScript.Arguments(0)+"" & ""+WScript.Arguments(1)+"" %sqlinstance% ""+WScript.Arguments(2)+""", "", "runas"); >"%TEMP%addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js"
call "%TEMP%addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js" "%cd%" %0 "%sqllogin%"
del "%TEMP%addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js"
goto :EOF
:continue
rem
rem determine if the SQL service is running
rem
set srvstarted=0
set srvstate=0
for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j
if .%srvstate% == .0 goto queryerror
rem
rem if required, stop the SQL service
rem
if .%srvstate% == .1 goto startm
set srvstarted=1
@echo Stop the '%sqlservice%' service ...
net stop %sqlservice%
if errorlevel 1 goto stoperror
:startm
rem
rem start the SQL service with the '-m' option (single admin connection) and wait until its STATE is '4' (STARTED)
rem also use trace flags as follows:
rem 3659 - log all errors to errorlog
rem 4010 - enable shared memory only (lpc:)
rem 4022 - do not start autoprocs
rem
@echo Start the '%sqlservice%' service in maintenance mode ...
sc start %sqlservice% -m -T3659 -T4010 -T4022 >nul
if errorlevel 1 goto startmerror
:checkstate1
set srvstate=0
for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j
if .%srvstate% == .0 goto queryerror
if .%srvstate% == .1 goto startmerror
if NOT .%srvstate% == .4 goto checkstate1
rem
rem add the specified user to the sysadmin role
rem access tempdb to avoid a misleading shutdown error
rem
@echo Add '%sqllogin%' to the 'sysadmin' role ...
for /F "usebackq tokens=1,3" %%i in (`sqlcmd -S np:.pipeSQLLocal%sqlinstance% -E -Q "create table #foo (bar int); declare @rc int; execute @rc = sp_addsrvrolemember '$(sqllogin)', 'sysadmin'; print 'RETURN_CODE : '+CAST(@rc as char)"`) do if .%%i == .RETURN_CODE set sqlresult=%%j
rem
rem stop the SQL service
rem
@echo Stop the '%sqlservice%' service ...
net stop %sqlservice%
if errorlevel 1 goto stoperror
if .%srvstarted% == .0 goto exit
rem
rem start the SQL service for normal connections
rem
net start %sqlservice%
if errorlevel 1 goto starterror
goto exit
rem
rem handle unexpected errors
rem
:existerror
sc query %sqlservice%
@echo '%sqlservice%' service is invalid
goto exit
:queryerror
@echo 'sc query %sqlservice%' failed
goto exit
:stoperror
@echo 'net stop %sqlservice%' failed
goto exit
:startmerror
@echo 'sc start %sqlservice% -m' failed
goto exit
:starterror
@echo 'net start %sqlservice%' failed
goto exit
:exit
if .%sqlresult% == .0 (@echo '%sqllogin%' was successfully added to the 'sysadmin' role.) else (@echo '%sqllogin%' was NOT added to the 'sysadmin' role: SQL return code is %sqlresult%.)
endlocal
В данной статье перечислены наиболее часто возникающие ошибки при работе программ в SQL режиме и описаны способы их устранения.
Содержание
- 1 Недопустимое имя объекта DOCS (или DO1DATA)
- 2 В Альта-ГТД не работает поиск
- 3 Невозможно подключиться к серверу с удаленной машины
- 4 При работе с программой внезапно теряется подключение к серверу
- 5 На локальной (удаленной) машине невозможно подключиться к SQL-серверу (Сервер не найден)
- 6 «Разрешение CREATE DATABASE запрещено в базе данных «master» при создании БД
- 7 «Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы» при созднии БД
- 8 «Не удаётся найти указанного поставщика»(или «Не найдена указанная процедура», или «Неизвестное имя класса»,или «Разрушительный сбой»)при подключении к БД
- 9 Locking optimistic failed: user with class identifier…
- 10 Несоответствующий (ошибочный, и т.д.) лог-файл *.ldf
- 11 База данных находится в режиме «Подозрительный»
Недопустимое имя объекта DOCS (или DO1DATA)
Данная ошибка обычно возникает при первичном подключении к базе данных ГТД.
Для устранения ошибки сделайте следующее:
- Откройте SQL Server Managment Studio, подключитесь к серверу
- Откройте файл (Файл — Открыть — Файл) DOCS.SQL (для DO1DATA — DO1DATA.SQL), который находится в папке UTILS с установленной программой ГТД (при установке по умолчанию это C:Alta)
- Выберите из списка (рядом с кнопкой Выполнить) базу данных, в которой произошла ошибка
- Нажмите кнопку Выполнить
В Альта-ГТД не работает поиск
Возможные проблемы:
- не установлена служба полнотекстового поиска: переустановить SQL сервер, при переустановке не забыть поставить галку на «Компонент Full-Text Search»
- не запущена служба полнотекстового поиска: запустить службу, в параметрах запуска установить Авто
- служба полнотекстового поиска не запускается с ошибкой «Интерфейс не поддерживается», либо такая ошибка выскакивает при поиске: переустановить SQL-сервер
- при поиске выдается сообщение об ошибке «Служба не запущена», хотя она запущена, либо какая то еще ошибка: запустить скрипт FullText.sql (если каталог уже существует, будет выдана ошибка, но это не страшно), затем ConvertFtcLng.sql (выдается сообщение: «Внимание! Таблица или индексированное представление «dbo.Docs» имеет столбцы полнотекстового индекса… » — это нормально)
Невозможно подключиться к серверу с удаленной машины
Возможные проблемы:
- брандмауэр windows или установленный антивирус блокирует порт 1433: все отключить и проверить соединение
- на сервере не включен протокол TCP/IP: открыть Диспетчер конфигурации SQL сервер, включить протокол, перезапустить службу SQL-сервера
При работе с программой внезапно теряется подключение к серверу
Возможные проблемы:
- некорректно работает протокол «Общая память»: в Диспетчере конфигурации отключить протокол Общая память, включить протокол TCP/IP и перезапустить службу SQL-севера
- нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес
- ERRORLOG в папке sql сервера сильно вырос и не может переименоваться на ERRORLOG.1*, для создания нового. Тут, возможно, не хватает прав на внесение изменений в этой папке(необходимо админам проверить), либо кривая установка SQL сервера(Остановить службу SQL сервера и удалить вручную C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG, если не помогло, переустановка).
Возможно, установлен именованный instance SQL-сервера: указать в настройках ИМЯ_СЕРВЕРАИНСТАНС (обычно это SQLEXPRESS)
«Разрешение CREATE DATABASE запрещено в базе данных «master» при создании БД
У пользователя, под которым было произведено подключение к SQL-серверу, нет прав на создание новой базы данных: необходимо залогиниться под пользователем sa или другим пользователем с правами администратора
«Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы» при созднии БД
Проблема: база данных не подключена к серверу, однако сами файлы базы данных по какой то причине присутствуют в системном каталоге DATA SQL-сервера: присоедините базу данных, для чего
- Откройте SQL Server Managment Studio, подключитесь к серверу
- Кликните правой кнопкой мыши по Базам данных, в контекстном меню выберите пункт Присоединить
- В появившемся окне нажмите кнопку Добавить и выберите нужный файл *.mdf, нажмите ОК
- Нажмите ОК
«Не удаётся найти указанного поставщика»(или «Не найдена указанная процедура», или «Неизвестное имя класса»,или «Разрушительный сбой»)при подключении к БД
Проблема: иногда после установки автоматических обновлений 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:WindowsInf (если ее не видно, включить показ скрытых папок/файлов в «свойствах папки»), нажать правой кнопкой мыши на файле MDAC.INF и выбрать пункт «Установить». При первом запросе «вставить диск» указать путь C:WindowsServicePackFilesi386, при втором – путь к папке i386 дистрибутива Windows, с которого происходила первоначальная установка ОС. Более подробно можно прочитать в статье Microsoft.
Вариант 3 (частичное восстановление!). Скопировать с другого компьютера (где установлена такая же ОС и все работает) содержимое папок:
C:Program FilesCommon FilesSystemado
C:Program FilesCommon FilesSystemOle DB
И зарегистрировать основные DLL командами (Пуск→Выполнить):
regsvr32 «C:Program FilesCommon FilesSystemadomsado15.dll»
regsvr32 «C:Program FilesCommon FilesSystemOle DBoledb32.dll»
regsvr32 «C:Program FilesCommon FilesSystemOle DBsqloledb.dll»
Для Windows Vista, Sever 2008 и более поздних:
Для этих ОС изначально не существует отдельно распространяемого инсталлятора WDAC, кроме того, там применяется технология Windows File Protection (WFP), которая защищает системные файлы от любых «несанкционированных» изменений, поэтому единственный возможный способ избежать переустановки системы – это как раз понадеяться, что WFP восстановит поврежденные файлы WDAC.
Чтобы запустить сканирование системы с восстановлением поврежденных файлов надо зайти в меню «Пуск→Все программы→Стандартные», нажать правой кнопкой мыши на пункте «Командная строка» и выбрать «Запуск от имени администратора». В окне командной строки набрать команду и нажать Enter: SFC /SCANNOW
Если ничего не будет восстановлено или это не поможет, то можно попробовать из той же командной строки выполнить регистрацию DLL-файлов, перечисленных в вар.3 предыдущего раздела.
Кроме того, теоретически может помочь откат последних обновлений (которые привели к сбою) и/или установка последнего ServicePack для данной ОС.
- если выше указанные действия не помогли, скопировать целиком обе папки OLEDB и ADO с другой машины с АНАЛОГИЧНОЙ операционкой и также перерегистрировать указанные dll-ки
- установить/переустановить SQL сервер на проблемной машине
- если все перечисленные способы не помогли, попробовать сделать откат системы, либо переустановить операционку
Locking optimistic failed: user with class identifier…
Ошибка означает, что повторно удаляется или записывается одна и та же запись в таблицу SQL. Лечится перезапуском SQL сервера.
Несоответствующий (ошибочный, и т.д.) лог-файл *.ldf
В этом случае необходимо выполнить ОДИН из скриптов. Естественно указав корректный путь к файлу базы и задав нужное имя БД. При этом сам битый файл *.ldf должен отсутствовать
- Первый скрипт:
USE [master] GO EXEC sp_attach_single_file_db @dbname='gtd', @physname=N'C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAgtd.mdf' GO
- Второй скрипт:
USE [master] GO CREATE DATABASE gtd ON (FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAgtd.mdf') FOR ATTACH_REBUILD_LOG GO
База данных находится в режиме «Подозрительный»
Необходимо выполнить скрипт (заменить везде название базы, если она отличается от gtd):
alter database gtd set emergency alter database gtd set single_user go DBCC CHECKDB (gtd, REPAIR_ALLOW_DATA_LOSS) with NO_INFOMSGS go alter database gtd set multi_user go
- Remove From My Forums
-
Question
-
Hello Everyone,
I just bought a new computer, installed Windows 10 pro, sql server 2014 Express + SSMS 2016 Preview.
I have done this many times before and it always worked.
- I start SSMS «As Administrator» with Windows Authentication Mode.
- Then I try to create a new Database and I get an exception message.
CREATE DATABASE permission denied in database ‘master’. (Microsoft SQL Server, Error: 262)
SSMS 2014 Express did not work either.
I would any appreciate any help greatly! Kindest Blessings
Andreas Bolliger
Answers
-
Dear Andreas,
restart the sql server service in single user mode.
You have to add -m as a startup parameter in configuration manager and restart the service:
From this point you will be able to connect with any local windows administrator via sqlcmd as a sysadmin (only possible in single user mode for fixing those issues)
sqlcmd -S .<YourInstance>
Now create your missing login
CREATE LOGIN [<YourLogin>] FROM WINDOWS;
GO
Do not forget to add the created login to the sysadmin server role:
exec sp_addsrvrolemember [<YourLogin>], sysadmin; GO
Remove the -m startup parameter in SQL Server configuration manager, restart your instance and you will be able to be the real sysadmin.
PS: the correct way is realy to add an administrative login during setup. But afterwards this way will fix your problem without re-installing your sql server.
Best Regards
Kai
-
Proposed as answer by
Wednesday, May 11, 2016 8:33 PM
-
Edited by
Koppelmann, Kai
Wednesday, May 11, 2016 8:34 PM
Formatting -
Marked as answer by
BolligeA
Wednesday, May 11, 2016 8:40 PM
-
Proposed as answer by