2014-10-23 1 views
0

클라이언트 컴퓨터에서 SQL Server CE 데이터베이스를 사용하고 있으며 SQL을 사용하여 데이터베이스를 줄이는 방법이 있는지 궁금합니다. 이렇게 SQL 서버에서 SQL을 사용하여 SQL Server CE 데이터베이스를 축소하는 방법

,
DBCC SHRINKDATABASE 

는 SQL 서버 CE이 같은 뭔가가 있나요?

불행하게도 나는 소프트웨어 변경의 일종하지 않고,

SqlCeEngine.Shrink 

를 같은 C#을 사용하여이 명령을 수행 할 수있는 시설이 없습니다.

답변

2

SQL을 통해이를 수행 할 방법이 없습니다.

당신은 (축소보다) 데이터베이스를 압축 내 sqlcecmd 명령 줄 도구를 사용할 수 있습니다

sqlcecmd -d "Data Source=C:\Northwind.sdf" -e compact 
+0

그러나 SQL을 사용하여이를 수행 할 방법이 없습니까? 오프라인 사용자에게 SQL을 보낼 수있는 기능이 있습니다. 위의 명령을 우리가 일정을 잡을 때나 그 선을 따라 뭔가 만들려면 일종의 소프트웨어 변경을해야 할 것입니다. 그럴 필요가 있다면 그럴 가치가 없을 수도 있으므로 컴팩트/축소로 신경 쓰지 않을 것입니다. – peter

0

당신이 구현하기 전에 응용 프로그램에서 동작을 축소, 당신은 정말이 작업의 장점과 단점을 고려해야합니다. 데이터베이스 파일을 축소하면 하나의 pro : 데이터 파일로 저장 공간이 줄어 듭니다. 그러나 단점은 DB의 인덱스가 성능 저하를 겪을 것이므로 대부분의 쿼리는 느려질 것입니다. 프로덕션 환경에서 데이터베이스가 줄어들지 않도록 조언합니다. 특히 SQL Server CE 자동 축소 기능을 사용하지 말 것을 권장합니다. 일부 경우 데이터 파일 손상을 초래할 수 있습니다. 좋은 소식은 연결 문자열에서 "autoshrink threshold = 100"매개 변수를 사용하여 자동 축소 동작을 완전히 비활성화 할 수 있다는 것입니다.