알 수 없는 SQL 예외 - 이벤트 5586

 

적용 대상: SharePoint Foundation 2010, SharePoint Server 2010

마지막으로 수정된 항목: 2009-11-10

경고 이름:   알 수 없는 SQL 예외

이벤트 ID:   5586

요약:   Microsoft SharePoint Foundation에서는 Microsoft SQL Server 2008 데이터베이스를 사용하여 구성 설정과 대부분의 웹 사이트 콘텐츠를 저장합니다. 예를 들어 사이트의 모든 페이지, 문서 라이브러리의 파일, 목록에 연결된 파일 및 목록의 정보는 콘텐츠 데이터베이스에 저장되고 보안 및 사용 권한 설정과 기타 구성 설정은 SQL Server 2008의 구성 데이터베이스에 저장됩니다.

Microsoft SharePoint Foundation에서는 서비스 계정을 사용하여 사용자 요청을 대신해서 데이터베이스와 통신합니다. 이 서비스 계정은 특정 사용자 이름 및 암호(도메인 이름 및 암호)이거나 미리 정의된 시스템 계정(예: 로컬 시스템 또는 네트워크 서비스)일 수 있습니다. SQL Server 데이터베이스를 만들 때 최대 데이터베이스 크기 값이 설정됩니다. 각 데이터베이스의 크기 설정은 데이터베이스마다 다릅니다. 웹 응용 프로그램은 하나 이상의 데이터베이스와 연결될 수 있습니다.

증상:   다음과 같은 증상이 나타날 수 있습니다.

  • 이벤트 로그에 다음과 같은 이벤트가 나타납니다. 이벤트 ID: 5586 설명: SQL Server 인스턴스 <인스턴스 이름>의 데이터베이스 <데이터베이스 이름>에서 데이터베이스 오류가 발생했습니다. 아래에 SQL Server의 추가 오류 정보가 있습니다. <SQL 오류 메시지>.

    참고

    설명은 SQL 오류 코드에 따라 달라집니다.

원인:   다음 중 하나 이상이 원인일 수 있습니다.

  1. SQL Server 서버 데이터베이스 사용 권한 부족

  2. SQL Server 데이터베이스가 꽉 참

  3. MDAC 버전이 잘못됨

  4. SQL Server 데이터베이스가 없음

  5. SQL Server 버전이 잘못됨

  6. SQL Server 데이터 정렬이 지원되지 않음

  7. 데이터가 읽기 전용임

참고

다음 작업을 수행하려면 Farm Administrators SharePoint 그룹의 구성원이어야 합니다.

해결 방법:   데이터베이스 액세스 계정에 올바른 사용 권한 부여

  • 이 문제를 해결하려면 데이터베이스 액세스 계정을 할당한 다음 SQL Server에서 해당 계정에 올바른 사용 권한이 있는지 확인합니다.

    데이터베이스 액세스 계정을 할당하려면

    1. SharePoint 중앙 관리 웹 사이트에서 보안을 클릭한 다음 일반 보안 섹션에서 서비스 계정 구성을 클릭합니다.

    2. 서비스 계정 구성 페이지의 자격 증명 관리 섹션에서 해당 웹 응용 프로그램에 대한 올바른 웹 응용 프로그램 풀을 선택합니다.

    3. 이 구성 요소에 대한 계정을 선택하십시오. 섹션에서 이 웹 응용 프로그램 풀과 연결할 도메인 계정을 선택하거나, 새 관리되는 계정을 등록하십시오. 를 클릭하고 새 도메인 계정을 이 응용 프로그램 풀과 연결합니다.

    4. 확인을 클릭하여 변경 내용을 저장합니다.

    계정에 SQL Server에 대한 올바른 사용 권한이 있는지 확인하려면

    1. 관리자 사용 권한이 있는 계정을 사용하여 SQL Server가 실행되는 컴퓨터에 연결합니다.

    2. SQL Server Management Studio의 개체 탐색기 탐색 창에서 보안 노드를 확장한 다음 로그인 노드를 확장합니다. 데이터베이스 액세스 계정의 이름은 해당 이름이 SQL 로그온 계정(예: ##MS_PolicyTsqlExecutionLogin##)임을 나타냅니다.

    3. 계정이 존재하면 데이터베이스 노드를 확장하고 보안 노드를 확장한 다음 역할을 클릭합니다.

    4. 데이터베이스 역할 노드를 확장하고 db_owner를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.

    5. 데이터베이스 역할 속성 대화 상자에서 데이터베이스 액세스 계정이 이 역할의 멤버 목록에 있는지 확인합니다. 계정이 목록에 없으면 추가를 클릭합니다.

참고

다음 작업을 수행하려면 Farm Administrators SharePoint 그룹의 구성원이어야 합니다.

해결 방법:   SQL Server 데이터베이스 크기 늘리기

  • SharePoint Foundation에서는 최대 크기에 도달한 데이터베이스에 쓸 수 없습니다. 한 가지 해결 방법으로, 이벤트 메시지에 이름이 지정된, 꽉 찬 데이터베이스의 최대 크기 설정을 늘릴 수 있습니다.

    데이터베이스 크기를 늘리려면

    1. SQL Server Management Studio의 개체 탐색기 탐색 창에서 서버 노드를 확장한 다음 데이터베이스 노드를 확장하고 원하는 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 데이터베이스 이름이 이벤트 메시지에 표시됩니다.

    2. 속성 대화 상자의 탐색 창에서 파일을 클릭합니다.

    3. 데이터베이스 파일 대화 상자의 자동 증가 열에서 데이터베이스 파일의 줄임표를 클릭합니다.

    4. 자동 증가 변경 대화 상자의 최대 파일 크기에서 제한된 파일 증가(MB) 옵션이 선택되어 있는 경우 상자의 최대 파일 크기를 오른쪽으로 움직여 늘립니다. 또는 파일 무제한 증가 옵션을 선택하여 데이터베이스 크기를 제한 없이 늘리도록 구성할 수도 있습니다.

    5. 확인을 클릭하여 변경 내용을 저장합니다.

참고

다음 작업을 수행하려면 Farm Administrators SharePoint 그룹의 구성원이어야 합니다.

해결 방법:   데이터베이스 복원

  • SQL Server 데이터베이스가 존재하지 않거나 SQL Server를 실행하는 컴퓨터에서 액세스할 수 없는 경우 백업에서 데이터베이스를 복원하고 SharePoint Foundation 2010에 다시 연결하십시오.

    백업에서 데이터베이스를 복원하려면

    1. SQL Server 호스트로 데이터베이스 백업을 복사합니다.

    2. RESTORE SQL Server 명령을 사용하여 데이터베이스를 복원합니다. RESTORE 명령에 대한 자세한 내용은 https://msdn.microsoft.com/ko-kr/library/ms186858(sql.90).aspx를 참조하십시오.

    중앙 관리의 데이터베이스에 다시 연결하려면

    1. 중앙 관리 페이지에서 응용 프로그램 관리를 클릭하고 데이터베이스 섹션에서 콘텐츠 데이터베이스 관리를 클릭합니다.

    2. 콘텐츠 데이터베이스 관리 페이지에서 콘텐츠 데이터베이스 추가를 클릭하고 웹 응용 프로그램 섹션에서 웹 응용 프로그램을 선택합니다.

    3. 데이터베이스 이름 및 인증 섹션의 데이터베이스 서버 텍스트 상자에 서버 이름을 입력하고 데이터베이스 이름 텍스트 상자에 데이터베이스 이름을 입력합니다.

    4. 확인을 클릭하여 변경 내용을 저장합니다.

해결 방법:   올바른 SQL Server 버전 설치

  • 데이터베이스 서버 역할을 호스팅하는 컴퓨터에 Microsoft SQL Server 2005 서비스 팩 3 CU(누적 업데이트) 3 또는 SQL Server 2008 서비스 팩 1 CU 2가 설치되어 있어야 합니다. 올바른 버전의 SQL Server를 설치하거나 서버를 올바른 버전으로 업그레이드할 수 있습니다.

참고

다음 작업을 수행하려면 데이터베이스에 대한 db_owner 사용 권한이 있어야 합니다.

해결 방법:   올바른 SQL Server 데이터 정렬 선택

  1. 데이터베이스에 대한 db_owner 사용 권한이 있는 계정을 사용하여 SQL Server가 실행되는 컴퓨터에 연결합니다.

  2. SQL Server Management Studio의 개체 탐색기 탐색 창에서 데이터베이스 노드를 확장합니다. 이벤트 4972에 표시된 특정 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  3. 데이터 정렬은 일반 탭의 유지 관리 섹션에 있는 목록에 표시되어 있습니다.

  4. 데이터 정렬을 변경하려면 옵션 페이지를 엽니다.

  5. 데이터 정렬 상자에서 올바른 데이터 정렬을 선택합니다.

해결 방법:   데이터베이스를 읽기/쓰기로 변경

  • 다음 단계에 따라 데이터베이스 크기를 늘려 데이터베이스를 읽고 쓸 수 있도록(읽기/쓰기) 데이터베이스를 변경합니다.

    참고

    이 작업을 수행하려면 데이터베이스에 대한 db_owner 액세스 권한이 있어야 합니다.

    데이터베이스의 크기를 늘리려면

    1. SQL Server Management Studio의 개체 탐색기 탐색 창에서 서버 노드를 확장한 다음 데이터베이스 노드를 확장합니다.

    2. 원하는 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 데이터베이스 이름이 이벤트 메시지에 표시됩니다.

    3. 데이터베이스 속성 대화 상자의 탐색 창에서 파일을 클릭합니다.

    4. 데이터베이스 파일 섹션의 자동 증가 열에서 데이터베이스 파일의 줄임표를 클릭합니다.

    5. 자동 증가 변경 대화 상자의 최대 파일 크기 섹션에서 제한된 파일 증가 옵션을 선택한 경우 상자의 최대 파일 크기를 오른쪽으로 움직여 늘립니다. 또는 파일 무제한 증가 옵션을 선택하여 데이터베이스 크기를 제한 없이 늘리도록 구성할 수도 있습니다.

    6. 확인을 클릭하여 변경 내용을 저장합니다.

데이터베이스 문제가 해결되었는지 확인

  1. SharePoint 2010 관리 셸에서 Windows PowerShell 명령 Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase를 실행하여 각 웹 응용 프로그램의 사이트 목록을 가져와서 다양한 데이터베이스의 모든 사이트를 나열하고 각 데이터베이스에서 사이트를 하나 찾습니다.

  2. 해당 사이트로 이동합니다.