programing

SQL 네트워크 인터페이스, 오류: 50 - 로컬 데이터베이스 런타임 오류가 발생했습니다.자동 인스턴스를 만들 수 없습니다.

megabox 2023. 4. 14. 21:34
반응형

SQL 네트워크 인터페이스, 오류: 50 - 로컬 데이터베이스 런타임 오류가 발생했습니다.자동 인스턴스를 만들 수 없습니다.

ASP를 사용하다NET MVC 5를 5 웹MyDatabase.mdfApp_DataSQL 2014 를 SQL Server 2014 Express와 함께 했습니다.LocalDb할 수 합니다.Server Explorer를 사용하여 데이터베이스 테이블을 편집할 수 있지만 응용 프로그램을 디버깅하고 데이터베이스가 필요한 페이지로 이동하면 다음 오류가 발생합니다.

SQL Server에 대한 연결을 설정하는 동안 네트워크 관련 오류 또는 인스턴스별 오류가 발생했습니다.서버를 찾을 수 없거나 서버에 액세스할 수 없습니다.인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인합니다.(프로바이더: SQL 네트워크 인터페이스, 오류: 50 - 로컬 데이터베이스 런타임 오류가 발생했습니다.자동 인스턴스를 만들 수 없습니다.오류에 대한 자세한 내용은 윈도우즈 응용 프로그램 이벤트 로그를 참조하십시오.

이벤트 에서 ' 뷰어'를 Application경고 하나만 반복해서 표시됩니다.

압축된 콘텐츠 C를 캐시하도록 지정된 디렉토리:\Users\User1\AppData\Local\온도\i섹스프레스\IIS 임시 압축 파일\Clr4Integrated AppPool이 잘못되었습니다.정적 압축이 비활성화되어 있습니다.

그래서 서버를 재부팅하려고 했는데 아직 안 됐어요.이전과 같은 에러 50.

가가 under under under under under under under under under i i i i 。Models서 나는 가업 called 라는 수업을 듣는다.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());
        }
    }

의 마마 my에서는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에서 Server Explorer를 사용하여 데이터베이스를 새로 고치면 테이블을 볼 수 있습니다.

Visual Studio 2013 내에서 데이터베이스에 연결하여 편집할 수 있지만 애플리케이션을 디버깅하면 데이터베이스에 연결할 수 없는 이유는 무엇입니까?

LocalDB에 대한 변경사항: SQL 2014에 적용됩니다.이 문서를 참조하여 사용해보십시오.(localdb)\mssqllocaldbLocalDB 자동 인스턴스에 연결하기 위한 서버 이름으로 지정합니다.하다

<connectionStrings>
  <add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb; 
  ...

이 기사에서는 2014 LocalDB에 접속하기 위해 2012 SSMS를 사용하는 것도 언급하고 있습니다.따라서 SQL 버전이 여러 개 설치되어 있을 수 있습니다.이 SO 답변은 앞으로 발생할 수 있는 다른 버전 불일치 문제를 피하기 위해 LocalDB "인스턴스"의 기본 이름을 변경하는 것을 제안합니다.이 SO 답변은 문제의 근원으로 언급되지 않습니다.단, 단일 개발 머신에 여러 SQL 버전이 설치되어 있는 경우 발생할 수 있는 충돌에 대한 인식을 높이기 위해 ... 및 이를 방지하기 위해 습관적으로 해야 할 일이 있습니다.

하나할 필요가 있는 이 할 수 재인스톨 해 재인스톨 해 재인스톨 해 다음, 「」를 사용해 보세요.mssqllocaldb가 아닌 값어치v12.0문제가 해결되는지 확인해 보세요.

실행:

sqlocaldb는 "v12"를 만듭니다.0"

cmd 프롬프트에서 이 문제를 해결했습니다.

보통 이 오류는 이 msdn 블로그 게시물 Using LocalDB with Full IIS에서 수정됩니다.

이를 위해서는 보통 C:에 있는 applicationHost.config 파일을 편집해야 합니다.\Windows\System32\inetsrv\config.KB 2547655의 지시에 따라 Application Pool 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)\sysqllocaldb변경해야 합니다.

Possible Issues
 \\ rename the conn string from v12.0 to MSSQLLocalDB -like so-> 
 `<connectionStrings>
      <add name="ProductsContext" connectionString="Data Source= (localdb)\mssqllocaldb; 
      ...`

가장 간단한 방법은 다음과 같습니다.도움말의 사진과 스텝을 첨부했습니다.

를 수행하려면 레지스트리를 체크하고 cmd를 실행합니다First verify which instance you have installed.

 1. `cmd> Sqllocaldb.exe i` 
 2. `cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"` 
if this step fails, you can delete with option `d` cmd> Sqllocaldb.exe d "someDb"
 3. `cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"` 
 4. `cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"`

SqlLOCALDB_edited.


고도의 트러블 슈팅Registry의 개요

요청 및 댓글에서 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

검색 중

SELECT registry_key, value_name, value_data  
FROM sys.dm_server_registry  
WHERE registry_key LIKE N'%SQLAgent%';

또는 SSMS SQL Management Studio에서 실행하면 서버에 설치된 모든 설치 목록이 나타납니다.

DECLARE     @SQL VARCHAR(MAX)
SET         @SQL = 'DECLARE @returnValue NVARCHAR(100)'
SELECT @SQL = @SQL + CHAR(13) + 'EXEC   master.dbo.xp_regread

 @rootkey      = N''HKEY_LOCAL_MACHINE'',
 @key          = N''SOFTWARE\Microsoft\Microsoft SQL Server\' + RegPath + '\MSSQLServer'',
 @value_name   = N''DefaultData'',
 @value        = @returnValue OUTPUT; 

 UPDATE #tempInstanceNames SET DefaultDataPath = @returnValue WHERE RegPath = ''' + RegPath + '''' + CHAR(13) FROM #tempInstanceNames 

 -- now, with these results, you can search the reg for the values inside reg
 EXEC (@SQL)
 SELECT      InstanceName, RegPath, DefaultDataPath
 FROM        #tempInstanceNames

슈팅 러러팅 trouble trouble troubleNetwork의 개요

SELECT registry_key, value_name, value_data  
FROM sys.dm_server_registry  
WHERE registry_key LIKE N'%SuperSocketNetLib%';  

인스턴스가 손상되었거나 제대로 업데이트되지 않았을 수 있습니다.

다음 명령을 사용해 보십시오.

C:\>sqllocaldb stop MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" stopped.
 
C:\>sqllocaldb delete MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" deleted.
 
C:\>sqllocaldb create MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" created with version 13.0.1601.5.
 
C:\>sqllocaldb start MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" started.

는 아마 이 오류 예요.version SQL Server †의is not installed

connectionString="Data Source=(LocalDB)\v12.0;....

인스톨 할 필요도 없습니다.

가장 빠른 수정은 설치된 버전으로 변경하는 것입니다.

저 같은 경우에는 에서 로 변경합니다.

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

  1. 먼저 응용 프로그램 변경호스트 설정 파일문자열 setProfileEnvironment="false"를 setProfileEnvironment="true"로 바꿉니다.

  2. 데이터베이스 연결 문자열에 통합 보안 = SSPI 특성을 추가합니다.

저도 같은 문제에 부딪혔어요.내 수정이 바뀌고 있었다.<parameter value="v12.0" />로.<parameter value="mssqllocaldb" />"app.config" 파일로 변환합니다.

모두 타일러가 한 말을 주목해 주세요.

이 파일을 편집하려면 메모장과 같은 64비트 텍스트 편집기를 사용해야 합니다.메모장++와 같은 32비트 파일을 사용하면 SysWOW64에서 자동으로 파일의 다른 복사본을 편집할 수 있습니다.내 인생의 몇 시간 동안 돌아갈 수 없어

제 경우, 하나의 솔루션에 여러 개의 프로젝트가 있었고, 코드 우선 마이그레이션과 함께 "Update-Database" 명령을 실행할 때 패키지 매니저 콘솔과 다른 시작 프로젝트를 선택했습니다.올바른 시작 프로젝트를 선택해야 합니다.

위의 문제를 해결했습니다.아래 단계를 적용합니다.

여기에 이미지 설명 입력

변경 후 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" />

MS SQL Express 버전이 여러 개 설치되어 있는 것이 문제였습니다.설치 폴더에 갔다.C:\Program Files\Microsoft SQL Server3가지 버전을 찾았습니다.폴더 2개를 삭제하고 MSQL13만 남겼습니다.SQLEXPRESS가 문제를 해결했습니다.

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

반응형