your programing

SQL Server 2008 R2에서 50MB 스크립트를 실행하는 동안 오류 발생

lovepro 2020. 12. 26. 16:18
반응형

SQL Server 2008 R2에서 50MB 스크립트를 실행하는 동안 오류 발생


SQL Server 2008 R2를 사용하고 있으며 DB를 업데이트하는 스크립트가 있습니다. 해당 스크립트의 크기는 약 50MB이고 약 800,000 줄이 포함되어 있습니다.

오류:

제목 : Microsoft SQL Server Management Studio

스크립트를 실행할 수 없습니다.

추가 정보:

프로그램 실행을 계속하기에 메모리가 부족합니다. (mscorlib)

누군가이 오류가 발생하지 않고이 스크립트를 실행하도록 도와 주시겠습니까?


메모리가 훨씬 적은 명령 줄 도구 SQLCMD를 사용합니다. 다음과 같이 간단합니다.

SQLCMD -d <database-name> -i filename.sql

SQL Server 인스턴스에 액세스하거나 데이터베이스에 액세스하려면 유효한 자격 증명이 필요합니다.


@ user1293068의 답변에 추가하여 인스턴스 이름을 지정해야했습니다. 내 전체 구문은 다음과 같습니다.

sqlcmd -S <ComputerName>\<InstanceName> -d <DatabaseName> -i <MyScript.sql>

이것은 Technet의 sqlcmd 유틸리티 사용 문서에 설명되어 있습니다.

( "-s"가 아닌 "-S"의 스위치 값을 입력해야합니다. 스위치는 대소 문자를 구분합니다.)


자격 증명이 필요한 경우

sqlcmd -S <ComputerName>\<InstanceName> -U <username> -P <password> -d <DatabaseName> -i <MyScript.sql>

서버 속성에서 최대 서버 메모리 값을 늘릴 수도 있습니다.
이 설정을 편집하려면 서버 이름을 마우스 오른쪽 버튼으로 클릭하고 속성> 메모리 탭을 선택합니다.

30MBSSMS 2012에서 SQL 스크립트 를 실행하려고 할 때이 오류가 발생했습니다 .
값을에서 1024MB늘린 후 2048MB스크립트를 실행할 수있었습니다.


좋아, 내 스크립트를 성공적으로 복원하는 데 충분한 답변이 없었습니다.

그래서:

  1. 네트워크 계정에 SQL Server 인스턴스와 복원하려는 특정 데이터베이스에 모두 액세스 할 수있는 충분한 권한이 있는지 확인하십시오.

  2. 복원하려는 데이터베이스가 단순히 스크립트 생성 (스키마와 데이터를 모두 포함하도록 수정)에서 생성 된 경우 실제로 존재하는 것이 가장 좋습니다.

  3. 관리자 모드 (필요한 경우)에서 명령 줄 도구를 실행합니다 (예 : 시작 메뉴의 실행에서 CMD 입력).

  4. 명령 줄 도구에서 "SQLCMD -d CMS -i C:\Carnotaurus\Data\script.sql". 여기에서 CMS복원하려는 데이터베이스의 이름은 "C:\Carnotaurus\Data\script.sql"SMSS에서 스크립트 생성에 의해 생성 된 복원 스크립트의 전체 파일 경로입니다.

이로 인해 몇 가지 누락 된 단계가 해결되기를 바랍니다.

참조 URL : https://stackoverflow.com/questions/11307435/getting-error-while-running-50-mb-script-on-sql-server-2008-r2

반응형