2012-03-16 20 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として追加することができます。問題は、Accessを使用してDBに接続しているためです。接続があるためにデータベースを切断できず、すべての接続を切断してから切断する必要があります。

DBを削除(削除)すると同じ問題が発生します。あなたはDBに接続がない限り、それは落ちません。

+0

明らかにそうではありません:http://msdn.microsoft.com/en-us/library/ms188664.aspx – Fionnuala

関連する問題