Development Tip

CREATE FILE에서 운영 체제 오류 5가 발생했습니다 (이 오류에 대한 텍스트를 검색하지 못했습니다. 이유 : 15105).

yourdevel 2020. 11. 6. 20:44
반응형

CREATE FILE에서 운영 체제 오류 5가 발생했습니다 (이 오류에 대한 텍스트를 검색하지 못했습니다. 이유 : 15105).


.mdfMS SQL EXPRESS 의 데이터베이스 파일 이 폴더에 있습니다.

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

MS 2008 R2 (MSSQL10_50.MSSQLSERVER) 에 연결하고 싶지만 Server Management Studio를 사용하면 다음과 같은 오류가 발생합니다.

CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file

그것을 해결하는 방법을 알고 있습니까?


MS SQL Management Studio를 ADMINISTRATOR로 실행하는 문제를 해결할 수있었습니다.


Windows 권한 문제입니다. Windows 인증을 사용하여 서버에 연결 한 경우 해당 Windows 사용자는 파일에 대한 권한이 필요합니다. SQL Server 인증을 사용하여 서버에 연결 한 경우 SQL Server 인스턴스 계정 (MSSQL $, 예 : MSSQL $ SQLEXPRESS)에 파일에 대한 권한이 필요합니다. 관리자로 로그인하는 것을 제안하는 다른 솔루션은 기본적으로 동일한 작업을 수행합니다 (약간의 큰 망치로 :).

데이터베이스 파일이 SQL Server의 데이터 폴더에있는 경우 해당 폴더에서 SQL Server 계정에 대한 사용자 권한을 상속 받아야 SQL Server 인증이 작동해야합니다. 해당 폴더에 대한 SQL Server 인스턴스의 계정 권한을 수정하는 것이 좋습니다. 데이터 파일이 다른 곳에 있고 SQL Server 계정에 권한이없는 경우 나중에 다른 문제가 발생할 수 있습니다. 다시 말하지만 더 나은 해결책은 SS 계정 권한을 수정하는 것입니다. 항상 관리자로 로그인하지 않는 한 ...


파일 mdf 및 ldf 속성-> 보안-> 전체 권한을 마우스 오른쪽 버튼으로 클릭하십시오.


내 데이터베이스 설치 위치에 대한 관리자 권한 또는 모든 권한을 부여하여 문제를 해결했습니다.


나는 같은 문제가 있었다. 몇 번의 시도 끝에 SQL 서버를 Windows 인증으로 연결하면 문제가 해결된다는 것을 깨달았습니다.


비슷한 오류가 발생했습니다.

CREATE FILE encountered operating system error **32**(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file

다음 명령을 사용하여 데이터베이스를 연결했습니다.

EXEC sp_attach_single_file_db @dbname = 'SPDB',
@physname = 'D:\SPDB.mdf'

다른 제안대로 관리자로 실행하면 도움이 될 것입니다.

그러나 이것은 Windows 사용자가 실제로 SQL Server가 실행되는 시스템의 관리자 인 경우에만 가능합니다.

예를 들어 원격 컴퓨터에서 SSMS를 사용할 때 사용자가 SSMS를 실행하는 컴퓨터의 관리자 일뿐 SQL Server를 실행하는 컴퓨터의 관리자가 아닌 경우 "관리자 권한으로 실행"을 사용하면 도움이되지 않습니다.


1. 복사 하여 .. LDF 파일 - MDF를, -파테 2008 서버의 경우이 위치 \ 프로그램 Files \ Microsoft SQL 서버 \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA : C를 2.In SQL 서버 2008 사용 ATTACH 와 같은 위치를 선택 추가


SQL 2005를 사용하는 Windows 2003에서이 문제가 발생했습니다. Windows 사용자 계정으로 파일의 소유권을 가져와야했고 그런 방식으로 연결할 데이터베이스가 생겼습니다.

파일을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 확인을 클릭하여 정보 화면을 지나가고 고급 버튼을 클릭하고 사용 가능한 계정 또는 그룹 목록에서 계정을 선택하고 해당 변경 사항을 적용한 다음 속성 화면에서 확인을 클릭해야합니다. 모든 작업을 완료하면 파일 권한을 관리 할 수 ​​있습니다.

Windows 인증을 사용하여 SSMS에 로그인했는데 오류없이 데이터베이스를 연결할 수있었습니다.

건배!


파일 소유자가 삭제 된 경우에도 동일한 문제가 발생합니다. 이 경우 파일 속성으로 이동하면 사용자 이름이 아닌 SID가 표시됩니다. 파일의 소유권을 가져옵니다 (자신에게 모든 권한 부여). 이 작업이 완료되면 파일로 필요한 모든 작업을 수행 할 수 있습니다.

관리자가 트릭을하지 않았기 때문에 로그인 할 때이 작업을 수행했습니다.


이미 관리자로 실행중인 경우 사용중인 사용자에게 적절한 서버 역할이 있는지 확인하십시오.

  1. sa로 로그인 (가능한 경우)
  2. 보안 폴더를 확장하십시오.
  3. 로그인 폴더 확장
  4. 사용하려는 사용자를 마우스 오른쪽 버튼으로 클릭하십시오.
  5. 속성 선택
  6. 서버 역할 선택
  7. 모든 서버 역할 선택
  8. 확인 클릭
  9. SSMS 다시 시작
  10. 수정 된 사용자로 로그인

제 경우에는 새 드라이브에 데이터 배를 만들려고 할 때 오류가 발생했습니다. 문제를 극복하기 위해 해당 드라이브에 새 폴더를 만들고 사용자 속성 보안을 모든 권한으로 설정했습니다 (수정 설정하는 것으로 충분할 수 있음). 결론 : 사용자의 드라이브 / 폴더 속성 보안을 "수정"으로 설정합니다.


내 솔루션은 약간 더 복잡했습니다. 서비스가 실행중인 사용자를 확인하고 로컬 및 도메인 관리자로 MSSMS를 실행하고 폴더 권한을 확인한 후에도이 오류가 계속 발생했습니다. 내 솔루션?

폴더 소유권은 여전히 ​​로컬 계정에서 유지되었습니다.

속성> 보안> 고급> 소유자> (도메인 / 로컬 사용자 / 그룹 SQL 서비스가 다음으로 실행 됨)

이것은 나를 위해 문제를 해결했습니다.


SSMS를 관리자로 열고 SQL Auth와 Windows Auth로 실행하는 것이 작동하지 않았습니다.

효과가있는 것은 LDF 및 MDF 파일이있는 동일한 위치로 파일 이름을 변경하는 것입니다.

alter database MyDB
add file ( name = N'FileStreamName', 
filename = N'D:\SQL Databases\FileStreamSpace' ) 
to filegroup DocumentFiles;

다른 서버에 백업 된 데이터베이스를 복원 할 때이 오류가 발생했습니다. 오랜 투쟁 끝에 이것이 내가 한 일입니다

  1. 즉시 파일 초기화 활성화,

  2. 폴더에 대한 권한 (모든 권한)을 서비스 계정 및 내 Windows 계정에 부여

  3. SQL 서비스를 다시 시작했습니다. 그 후 데이터베이스가 복원되었습니다.


핵심은 "운영 체제 오류 5"입니다. Microsoft는 사이트에 다양한 오류 코드와 값을 유용하게 나열합니다.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

ERROR_ACCESS_DENIED 5 (0x5) 액세스가 거부되었습니다.


We faced this issue, when the windowsuser detaching the database and windowsuser attaching the database are different. When the windowsuser detaching the database, tried to attach it, it worked fine without issues.


Here are the steps:

  1. Right click on the .mdf and .ldf file.
  2. Then select properties.
  3. On the security -> advanced -> permission add the user which

copy your --.MDF,--.LDF files to pate this location For 2008 server C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 2.

In sql server 2008 use ATTACH and select same location for add


I just decided to create the file in D: instead of C: and everything worked well. windows 7...10 have many issues regarding the sharing and authorization of files and folder..


In my case, Run as Administrator does not help. I solved the problem by changing the Build-in Account to Local System in Configuration Manager.


Here is what happened in my case. I was asked to attach files for a database. I was given the file names as follows

  • devdb.mdf and devdb.ldf

I proceeded to attach the files and kept getting the files are in use by another process.

I ran a query against the system view select name, physical_name from sys.master_files; and saw that the exact file names were already in use by another database, thus each time I tried to attach the files, I kept getting the error the files are in use by another process(sql server)

Thus if you are getting such a message, then also query against the system view sys.master_files and see which database may already be using the same name files. Hereafter you will figure out what to do.

thanks.


if you have mount points add the the SQL server service account to volume security accordingly


Start->Run->services.msc->scroll through the list of services until you find SQL Server->right-click->properties->Log On tab:

Then choose Local System Account and check the Allow service to interact with desktop checkbox.

Restart the service.

Services


No need to do all this. Just right click on database files and add permission to everyone. That will work for sure.

참고URL : https://stackoverflow.com/questions/11178536/create-file-encountered-operating-system-error-5failed-to-retrieve-text-for-thi

반응형