SQL 네트워크 인터페이스, 오류: 50 - 로컬 데이터베이스 런타임 오류가 발생했습니다.자동 인스턴스를 만들 수 없습니다.
ASP를 사용하다NET MVC 5를 5 웹MyDatabase.mdf
App_Data
SQL 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)\mssqllocaldb
LocalDB 자동 인스턴스에 연결하기 위한 서버 이름으로 지정합니다.하다
<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
- 실행 중인 서비스가 없습니다.
- 방화벽 포트가 구성되어 있지 않습니다.
- 설치 및 문제/파손(다음 절차는 깔끔하게 시작하는데 도움이 됩니다)
- V11 또는 12의 이름을 mssqllocaldb로 변경하지 않았습니다.
\\ 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"`
고도의 트러블 슈팅
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 trouble
Network
의 개요
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;....
인스톨 할 필요도 없습니다.
가장 빠른 수정은 설치된 버전으로 변경하는 것입니다.
저 같은 경우에는 에서 로 변경합니다.
이 문제의 최종 해결책은 다음과 같습니다.
먼저 응용 프로그램 변경호스트 설정 파일문자열 setProfileEnvironment="false"를 setProfileEnvironment="true"로 바꿉니다.
데이터베이스 연결 문자열에 통합 보안 = 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 Server
3가지 버전을 찾았습니다.폴더 2개를 삭제하고 MSQL13만 남겼습니다.SQLEXPRESS가 문제를 해결했습니다.
언급URL : https://stackoverflow.com/questions/26248293/sql-network-interfaces-error-50-local-database-runtime-error-occurred-canno
'programing' 카테고리의 다른 글
WPF: 폭(및 높이)을 퍼센티지 값으로 설정 (0) | 2023.04.14 |
---|---|
현재 아이폰/디바이스 모델을 판별하는 방법 (0) | 2023.04.14 |
목록에서 여러 인덱스를 동시에 제거하려면 어떻게 해야 합니까? (0) | 2023.04.14 |
Bash 함수에서 부울 반환 (0) | 2023.04.14 |
속성을 포함하는 Objective-C 프로토콜을 어떻게 처리합니까? (0) | 2023.04.14 |