Ошибка при создании базы данных sql

Run Microsft SQL Server Studio as administrator….your problem will be solved

answered Sep 8, 2014 at 19:20

MSC's user avatar

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

Icarus's user avatar

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

jrbetez's user avatar

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

reyhaneh roosta's user avatar

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_s's user avatar

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

Manvendra_0611's user avatar

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

PatsonLeaner's user avatar

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

Duffer's user avatar

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 Vlasin's user avatar

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.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Ссылки

Ознакомьтесь со стандартной терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

  1. Download the script from this Microsoft Site
  2. Run it as Administrator
  3. 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

  1. Download the script from this Microsoft Site
  2. Run it as Administrator
  3. 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.

    1. I start SSMS «As Administrator» with Windows Authentication Mode.
    2. 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

  • Ошибка при склейке товара goodsid уже имеет активную связку сбермегамаркет
  • Ошибка при создании аккаунта gmail
  • Ошибка при скачке торрент файла
  • Ошибка при создании xml файла
  • Ошибка при скачке windows 10