2013-07-29 3 views
2

Visual C#을 프런트 엔드로, SQL Server 2008 R2 Express를 백엔드로 사용한 프로젝트에서 작업하고 있습니다.SQL Server 2008 R2 Express 복원

SQL Server Express 데이터베이스의 크기 제한은 10GB입니다. 따라서 픽업 한도에 도달하면 데이터베이스 백업용 코드를 작성하고 백업이 성공하면 데이터베이스를 비 웁니다.

내 현재 응용 프로그램 백엔드 (이전에 비운)를 방해해서는 안되는 백업 파일을 복원하는 가장 좋은 방법이 무엇인지 알고 싶습니다.

내 현재 데이터베이스에서 동일하게 복원해도 괜찮습니까?이 경우 응용 프로그램이 실시간으로 작동하고 15 분마다 실시간 응용 프로그램에 영향을 미치는지 묻는 질문이 있습니다. 간격은 데이터베이스에 일부 값을 저장했습니다.

이전 데이터를 볼 수있는 다른 유틸리티를 작성해야하는지 여부 ..?

매일 약 50MB의 데이터가 데이터베이스에 삽입되므로 픽업 크기에 도달하는 데 대략 8 개월이 걸립니다 (대략적인 계산에 따라). 응용 프로그램의 성격이 중요하다면 사용자는 아카이브 데이터를 자주 사용하지 않을 것입니다. 이것을 고려하고 나에게 접근을 제안하십시오.

미리 감사드립니다 .. !!

답변

0

희망 사항이 있으시길 바랍니다. 그러나 다음과 같은 작업 제안을 고려하십시오.
실시간 데이터를 저장하는 하나의 데이터베이스 ("현재 DB").

크기가되면 아카이브에 덤프 (또는 복사 된 mdf + ldf)됩니다.
타임 스탬프 (FROM-TO)와 함께 저장됩니다.

데이터가 필요한 경우 관련 mdf가 새로운 "오프라인"데이터베이스로 연결됩니다.
(연결 문자열을 사용하여 MDF 파일을 SQL Server에 연결할 수 있습니다.)
라이브 대신 연결을 사용하십시오.

응용 프로그램을 온라인 데이터베이스에서 원활하게 실행할 수 있습니다.
읽거나로드하는 중 ...
은 임시 연결 및 분리 된 데이터베이스 파일에서 수행됩니다.

SQL Server 인스턴스에 MDF를 연결하는 방법은 Connection String to Connect to .MDF 을 참조하십시오.

+0

답장을 보내 주셔서 감사합니다. 당신은 정확하게 나의 질문을 가지고 있고 또한 제안이 또한 실제로 이와 관련있는 것을 생각하고 있었다는 사실과 관련이있다. .. 그러나 나는 초보자 다. 나는 이것을 이행하기 위해 더 많은 숙제를해야한다. .. 당신이 나를 제공 할 수 있으면 그것은 크게 감사 할 것이다. 코드와 같은 것 .. –

+0

SQL Express 2008 서버가 10GB의 데이터베이스 크기 제한을 가지고 있다는 것을 알고 있으므로 질문 할 사항이 하나 더 있습니다. 복원 된 데이터베이스 + currentDB가 10GB를 초과 할 수 없습니까? 이것에 대한 여러분의 의견은 저에게 정말로 도움이 될 것입니다. –

+0

첫째, 인스턴스 당 제한이 아니라 데이터베이스 당 한도라고 생각합니다. 둘째, 두 SQL Server Express 인스턴스도 가질 수 있습니다. –

0

완전히 새로운 데이터베이스 서버에 데이터를 입력하면 이전 쿼리가 새 쿼리에서 작동하지 않습니다. SQL Express 제한은 데이터베이스별로가 아니라 데이터베이스 서버별로 제한됩니다. 새 SQL Express Server를 만들고 서버를 연결하고 연결된 서버 (How to create a linked server @ msdn)를 사용하여 쿼리를 만들 수 있습니다.

쿼리를 조정해야합니다.

당신이 지금처럼 데이터를 조회하는 경우 :

SELECT em.Name, em.Telefone FROM employees AS em 

당신은 너무 데이터베이스를 참조 할 필요가있다.

현재 데이터베이스에 대한
SELECT [server1\db1].dbo.em.Name, [server1\db1].dbo.em.Telefone FROM [server1\db1].dbo.employees AS em 

SELECT [server2\backup].dbo.em.Name, [server2\backup].dbo.em.Telefone FROM [server2\backup].dbo.em.Name 

그것은이 같은 가능하지만 내가 조언을하지 않을 것입니다. 이미 10GB의 데이터를 초과 한 경우 큰 테이블이있을 수 있습니다. 연결된 서버의 각 테이블은 서버에 완전히 복사되므로 심각한 네트워크 트래픽이 발생할 수 있으며 실행 시간이 오래 걸릴 수 있습니다.

나는 SQL 표준 판을 얻는다고 생각할 것이다.

+0

답장을 보내 주셔서 감사합니다. 매일 약 50MB의 데이터가 데이터베이스에 삽입되므로 픽 크기에 도달하는 데 약 8 개월이 걸립니다. 및 응용 프로그램의 성격에 관한 한 사용자는 아카이브 데이터를 자주 사용하지 않을 것입니다. 이 점을 고려해보고 나에게 접근을 제안하십시오 .. –

관련 문제