SQL 네트워크 인터페이스, 오류 : 50-로컬 데이터베이스 런타임 오류가 발생했습니다. 자동 인스턴스를 만들 수 없습니다.
폴더에 MyDatabase.mdf
파일 이있는 ASP.NET MVC 5 웹 응용 프로그램을 빌드하려고 App_Data
합니다. LocalDb
인스턴스 와 함께 SQL Server 2014 Express가 설치되어 있습니다. 서버 탐색기를 사용하여 데이터베이스 테이블을 편집 할 수 있지만 응용 프로그램을 디버깅하고 데이터베이스가 필요한 페이지로 이동하면 다음 오류가 발생합니다.
SQL Server에 연결을 설정하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (제공자 : SQL 네트워크 인터페이스, 오류 : 50-로컬 데이터베이스 런타임 오류가 발생했습니다. 자동 인스턴스를 만들 수 없습니다. 오류 세부 정보는 Windows 응용 프로그램 이벤트 로그를 참조하십시오.
그래서 아래의 이벤트 뷰어를 살펴 보았는데 Application
경고 하나만 계속 해서 봤습니다 .
압축 된 콘텐츠 C : \ Users \ User1 \ AppData \ Local \ Temp \ iisexpress \ IIS Temporary Compressed Files \ Clr4IntegratedAppPool을 캐시하기 위해 지정된 디렉터리가 잘못되었습니다. 정적 압축이 비활성화됩니다.
그래서 서버 재부팅을 시도했지만 여전히 진행되지 않았습니다. 이전과 동일한 오류 50.
라는 클래스가 Models
있는 곳에 클래스를 만들었습니다 Post
.
namespace MyApplication.Models
{
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
public class MyDatabase : DbContext
{
public DbSet<Post> Posts { get; set; }
}
}
또한 Controller
의 게시물을 나열 하는 설정이 있습니다 MyDatabase
.
namespace MyApplication.Controllers
{
public class PostsController : Controller
{
private MyDatabase db = new MyDatabase();
// GET: Posts
public ActionResult Index()
{
return View(db.Posts.ToList());
}
}
내 web.config
파일에서 연결 문자열은 다음과 같습니다.
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDB)\v12.0;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
여기에 게시 된 제안을 시도했지만 작동하지 않았습니다. 또한 이것을 시도 했습니다 .
또한 응용 프로그램 실행을 시작한 후 MyDatabase 인스턴스의 연결이 끊어지는 것을 확인했습니다. Visual Studio에서 서버 탐색기를 사용하여 데이터베이스를 새로 고치면 테이블을 볼 수 있습니다.
Visual Studio 2013 내에서 데이터베이스에 연결하고 편집 할 수 있지만 응용 프로그램을 디버깅 할 때 데이터베이스에 연결할 수없는 이유는 무엇입니까?
LocalDB의 주요 변경 사항 : SQL 2014에 적용됩니다 . 이 기사를 살펴보고 (localdb)\mssqllocaldb
서버 이름으로 사용하여 LocalDB 자동 인스턴스에 연결하십시오. 예를 들면 다음과 같습니다.
<connectionStrings>
<add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb;
...
이 기사에서는 2014 년 LocalDB에 연결하기 위해 2012 SSMS를 사용하는 방법도 언급합니다. 내가 당신이 SQL의 여러 버전이있을 수 있다고 생각하는 어떤 단서 설치 - 나를 지적하는 리드 이 SO 응답 향후 발생할 수있는 다른 버전 불일치 문제를 방지하기 위해 LocalDB "예"의 기본 이름을 변경 제안; 문제의 원인이 아니라 단일 개발 시스템에 설치된 여러 SQL 버전이 발생할 수있는 잠재적 충돌에 대한 인식을 높이기 위해 ... 그리고 일부를 피하기 위해 습관화해야합니다.
언급 할 또 다른 것은 가치 - 후 사용해보십시오 - 다시 설치, 제거 - 당신이 사용할 수없는 상태로 인스턴스를 입수 한 경우로 인해이 문제를 시도하고 해결하기 위해 그것으로 땜질로는, 그것은 가치가 처음부터 다시 수 있습니다 mssqllocaldb
대신 값을 v12.0
하고 있는지 문제를 해결합니다.
이것을 실행 :
sqllocaldb create "v12.0"
cmd 프롬프트에서 나를 위해 이것을 해결했습니다 ...
나는 일반적 으로이 msdn 블로그 게시물에 따라이 오류를 수정합니다. 전체 IIS와 함께 LocalDB 사용
이를 위해서는 일반적으로 C : \ Windows \ System32 \ inetsrv \ config에있는 applicationHost.config 파일을 편집해야합니다. KB 2547655의 지침에 따라 다음과 같이 응용 프로그램 풀 ASP.NET v4.0에 대해 두 플래그를 모두 활성화해야합니다.
<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
시작하려면 일반적인 LocalDb SqlExpress SQL Server 연결 오류를 일으킬 수있는 4 가지 문제가 SQL Network Interfaces, error: 50 - Local Database Runtime error occurred
있습니다. 시작하기 전에 v11 또는 v12의 이름을 (localdb) \ mssqllocaldb로 변경해야합니다.
- 실행중인 서비스 가 없습니다.
- 여기에 방화벽 포트가 구성 되어 있지 않습니다.
- 귀하의 설치가 및 문제 / 손상 (도움 아래 단계는 당신에게 좋은 깨끗한 출발을)
- 당신은하지 않았다 V11 또는 12 mssqllocaldb하기 위해 이름을 변경 에서 CONN 문자열의 이름을 변경
v12.0
하는MSSQLLocalDB
-like 소위><connectionStrings> <add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb; ...
가장 간단한 방법은 아래 작업을 수행하는 것임을 알았습니다. 도움을 위해 사진과 단계를 첨부했습니다.
먼저 당신이 설치 한 예를 확인, 당신은이 작업을 수행 할 수 있습니다 레지스트리를 검사 하고 실행을 cmd에 의해
cmd> Sqllocaldb.exe i
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
이 단계가 실패하면d
cmd> Sqllocaldb.exe d "someDb" 옵션을 사용하여 삭제할 수 있습니다.cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
편집 1 : 모든 버전의 일반 형식에 대한 레지스트리 경로를 통해 레지스트리를 추적합니다.
// SQL SERVER RECENT VERSIONS
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(instance-name)
// OLD SQL SERVER
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
// SQL SERVER 6.0 and above.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLExecutive
// SQL SERVER 7.0 and above
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServerAgent
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server 7
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServ65
아마도이 오류는 version
SQL Server 때문에 발생했습니다.is not installed
connectionString="Data Source=(LocalDB)\v12.0;....
그리고 당신은 그것을 설치할 필요가 없습니다
빠른 수정 당신이 설치된 버전으로 변경하는 것입니다
제 경우에는에서 v12.0
로 변경합니다.MSSQLLocalDB
인스턴스가 손상되었거나 제대로 업데이트되지 않았을 수 있습니다.
다음 명령을 시도하십시오 =>
C:\>sqllocaldb stop MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" stopped.
C:\>sqllocaldb delete MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" deleted.
C:\>sqllocaldb create MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" created with version 13.0.1601.5.
C:\>sqllocaldb start MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" started.
이 문제에 대한 최종 해결책은 다음과 같습니다.
First make changes in applicationHost config file. replace below string setProfileEnvironment="false" TO setProfileEnvironment="true"
In your database connection string add below attribute : Integrated Security = SSPI
I ran into the same problem. My fix was changing <parameter value="v12.0" />
to <parameter value="mssqllocaldb" />
into the "app.config" file.
All PLEASE note what Tyler said
Note that if you want to edit this file make sure you use a 64 bit text editor like notepad. If you use a 32 bit one like Notepad++ it will automatically edit a different copy of the file in SysWOW64 instead. Hours of my life I won't get back
In my case, we had several projects in one solution and had selected a different start project than in the package manager console when running the "Update-Database" Command with Code-First Migrations. Make sure to select the proper start project.
I solve above problem Applying below steps
And after you made thses changes, do following changes in your web.config
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v12.0;AttachDbFilename=|DataDirectory|\aspnet-Real-Time-Commenting-20170927122714.mdf;Initial Catalog=aspnet-Real-Time-Commenting-20170927122714;Integrated Security=true" providerName="System.Data.SqlClient" />
'programing' 카테고리의 다른 글
Intent.ACTION_GET_CONTENT에서 반환 된 URI에서 파일 이름을 추출하는 방법은 무엇입니까? (0) | 2020.10.20 |
---|---|
엔티티 이름은 엔티티 참조에서 '&'바로 뒤에 와야합니다. (0) | 2020.10.20 |
PHP에서 대시를 CamelCase로 변환 (0) | 2020.10.20 |
C 프로그래밍에서 대? (0) | 2020.10.20 |
바탕 화면 바로 가기에서 명령 프롬프트 명령 실행 (0) | 2020.10.20 |