2012-03-16 6 views
0

Sql Server 데이터베이스에 대한 액세스 UI가 있습니다. 사용자는 여러 데이터 베 이스 (다른 데이터가있는 동일한 테이블 포함)에 연결하고 그 중 하나를 선택할 수 있습니다. 우리는 이것을 버전 관리에 사용합니다. Access UI에서 바로 데이터베이스를 복사하고 삭제할 수있게하려고합니다. 그는 최소한 동일한 서버로, 그리고 이상적으로는 다른 서버로 복사 할 수 있어야합니다.Access에서 SQL Server 데이터베이스를 복사하는 방법

+0

당신이 SQL DB에 액세스 DB의 데이터를 복사 하시겠습니까, 또는이다이 순수 SQL DB의 액세스 UI에서 액세스. 당신이 복사 DB의 당신은 복사 데이터, 또는 완전한 DB를 의미합니까? – Jaques

+0

모든 데이터는 SQL DB에 있으며 링크 된 테이블을 통해 액세스됩니다. 다른 데이터베이스의 복사본으로 새 데이터베이스를 만들고 싶습니다. 현재 우리는 SSMS의 백업/복원으로이 작업을 수행합니다. – Oliv

+0

http://blog.sqlauthority.com/2011/05/27/sql-server-copy-database-from-instance-to-another-instance-copy-paste-in-sql-server/을 읽는 것이 좋습니다. 및 http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema -stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects/당신은 Access에서 스크립트를 실행할 수 있어야합니다. – Fionnuala

답변

0

이 내 마지막 솔루션입니다 :

Dim conn As New ADODB.Connection 

conn.ConnectionString = "Provider=SQLOLEDB;Data Source=" dbServer & ";" _ 
    & "User ID=" & user & ";Password=" & password 
conn.Open 

' backup 
conn.Execute "BACKUP DATABASE [" & sourceDb & "] TO [backup device] WITH NOFORMAT, NOINIT, NAME = N'backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10" 

' restore 
conn.Execute "RESTORE DATABASE [" & targetDb & "] FROM [abcosting temporary backup] WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10, " & mdf_move & ", " & ldf_move 
0

백업 및 복원이 가장 좋은 방법 일 것입니다. 다른 방법이 있습니다. 그러나 몇 가지 제한이있을 것입니다.

복사 할 DB를 분리하고 파일 사본에 이전 사본을 첨부하고 새 사본을 새 DB로 첨부 할 수 있습니다. DB에 연결하기 위해 Access를 사용하고 있기 때문에 문제가 발생할 것입니다. 연결이 있기 때문에 연결을 끊을 수 없으며 모든 연결은 연결을 끊기 전에 제거해야합니다.

DB를 삭제 (삭제)해도 동일한 문제가 발생합니다. DB에 연결이 없으면 드롭되지 않습니다.

+0

명백하게 : http://msdn.microsoft.com/en-us/library/ms188664.aspx – Fionnuala

관련 문제