사용자가 SQL Server 2005 데이터베이스에 파일을 첨부 할 수있는 .NET 응용 프로그램이 있습니다. 파일 크기를 10MB로 제한하고 싶습니다. 따라서 실제로 말할 수있는 최대 크기는 8000 바이트이므로 데이터 유형 varbinary (max)를 선언해야합니다. 하지만 ~ 2GB 파일 크기의 varbinary (최대)는 과도한 것처럼 보입니다. 데이터베이스에서 10MB로 제한하는 방법이 있습니까, 아니면 프론트 엔드에서 더 큰 것을 첨부하려고하지 않는지 확인해야합니다.SQL Server 2005 DB에 첨부 파일을 값> 8000 바이트로 제한
답변
프론트 엔드에서 만들 필요가 있다고 생각합니다. 당신은 그런 식의 Web.config에 HTTP 요청 크기를 제한 할 수 있습니다 : 당신은 또한 사용자가 지정된 임계 값보다 더 많은 파일을 업로드하려고 할 때 명시 적으로 게시 된 파일의 크기를 확인해야 할 수 있습니다
</configuration>
</system.web>
<httpRuntime maxRequestLength="60000"/>
</system.web>
</configuration>
.
이미 업로드 크기에 제한이 있습니다 (기본값 : 4MB IIRC). 이를 사용하여 다운로드를 제한 할 수 있습니다.
IMO DB에 대한 경로가 더 빠르기 때문에 IMO 서버의 오버로드를 최소화 할 수 있습니다.
유일한 단점은 ASP.NET 제한보다 큰 파일을 업로드하려고하면 오류 페이지가 표시된다는 것입니다.
아 - 내 잘못. 이것은 VB.Net 데스크톱 응용 프로그램입니다. 나는 그것을 언급하는 것을 잊었다. 그러나 프론트 엔드에서 처리해야한다는 제안이 아직 남아 있다고 생각합니다.
감사
나는 당신의 응용 프로그램에서 파일 제한을 확인하는 것입니다, 당신은 그냥 너무 큰 확인하려면 DB에 삽입하는 과정을 통해 가고 싶지 않아.
손이 거의 잡히지 않아 시간을 절약하고 더 나은 사용자 환경을 제공 할 수 있습니다.
varbinary (max)를 사용하는 것은 완전히 괜찮습니다. varbinary이기 때문에 컨텐츠가 필요로하는만큼의 공간 (최대 2 기가) 만 사용하게됩니다. 그러나 db의 CHECK CONSTRAINT를 추가하여 업로드의 datalength()를 확인할 수 있습니다. 하지만 차라리 응용 프로그램에서 업로드를 확인하고 싶습니다.
주제 약간 벗어남 : 실제로 가능하지만 실제로 데이터베이스에 첨부 파일을 실제로 저장하는 것은 좋지 않은 아이디어입니다.
주요 문제는 백업 및 기타 일상적인 유지 관리를 훨씬 어렵게 만드는 큰 첨부 파일로 인해 전체 데이터베이스 크기가 폭발적으로 증가한다는 것입니다.
파일의 경로 정보를 데이터베이스에 저장하고 공유 된 네트워크 폴더에 실제 파일을 저장하기 만하면됩니다. (물론 네트워크 파일 사용 권한 및 기타 문제에 대해 걱정할 필요가 있지만 많은 경우에는 여전히 더 나은 대안입니다.)
첨부 파일을 제한하는 것이 좋습니다 크기는 프런트 엔드와 데이터베이스에 있습니다. Kaboing의 체크 제약 솔루션은 데이터베이스 측면에 적합합니다.
- 1. SQL Server 2005 sp_send_dbmail
- 2. SQL Server 2005 MDF 파일을 보호하는 방법
- 3. SQL Server 메모리 제한 솔루션
- 4. Sql Express 2005 제한
- 5. SQL Server 2005 - 테이블 행 크기 제한 도달
- 6. SQL Server 2005
- 7. SQL 2005 sql 로그인 IP 제한
- 8. SQl Server 2005 Datatype
- 9. SQL Server 2005
- 10. SQL Server 2005 트랜잭션
- 11. SQL Server 2005 커서
- 12. Sql Server 2005 Replication
- 13. SQL Server 2005 현지화
- 14. SQL Server 2005 보안
- 15. SQL Server 2005 업그레이드 SQL Server 2008
- 16. SQL Server 2005 on SQL Server 2000
- 17. SQL Server 2005 MDF 파일은 얼마나 안전합니까?
- 18. SQL Server 백엔드가있는 DB에 액세스
- 19. SQL Server 클러스터링 제한?
- 20. NHibernate.Search - SQL Server 2005 - 최대 매개 변수 제한 2100 돌파!
- 21. SQL Server 2005 및 APP_DATA
- 22. SQL Server 2005 설치 문제
- 23. SQL Server 잘림 및 8192 제한
- 24. SQL Server 2005 요약 쿼리
- 25. SQL 2005 SQL 2005 SSMS로 연결
- 26. 뷰와 관련된 데이터베이스 개체 - SQL Server 2005
- 27. SQL Server 2005 단방향 복제
- 28. SQL Server 2005 성능 문제
- 29. SQL Server 2005 작업 일정
- 30. SQL Server 2005 sp_addlinkedserver 문제가
응용 프로그램과 DB 측 검사를하지 않는 이유를 생각해 낼 수 있습니까? – Solracnapod
응용 프로그램에 가치있는 것을 추가하지 않기 때문에 아마 DB 검사를하지 않을 것입니다. 크기 제한은 응용 프로그램 논리에서 최상으로 유지되는 비즈니스 의사 결정입니다.DB는 10 또는 20 또는 100MB 파일을 완벽하게 처리합니다. –