programing

SQL 네트워크 인터페이스, 오류 : 50-로컬 데이터베이스 런타임 오류가 발생했습니다.

nasanasas 2020. 10. 20. 07:42
반응형

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로 변경해야합니다.

가장 간단한 방법은 아래 작업을 수행하는 것임을 알았습니다. 도움을 위해 사진과 단계를 첨부했습니다.

먼저 당신이 설치 한 예를 확인, 당신은이 작업을 수행 할 수 있습니다 레지스트리를 검사 하고 실행을 cmd에 의해

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"이 단계가 실패하면 dcmd> Sqllocaldb.exe d "someDb" 옵션을 사용하여 삭제할 수 있습니다.
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

편집 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

아마도이 오류는 versionSQL 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.

이 문제에 대한 최종 해결책은 다음과 같습니다.

  1. First make changes in applicationHost config file. replace below string setProfileEnvironment="false" TO setProfileEnvironment="true"

  2. 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

enter image description here

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" />

참고URL : https://stackoverflow.com/questions/26248293/sql-network-interfaces-error-50-local-database-runtime-error-occurred-canno

반응형