2017-02-20 6 views
0

SQLサーバーのデータバックアップサイズが20GBを超えています。私のデータベースはEドライブに十分なスペースがありますが、SQLソフトウェアはメモリが少ないCドライブにインストールされています。このシナリオでは、バックアップをEドライブに復元する方法を教えてください。20GB SQL Serverデータベースバックアップの再計算

答えて

0

ステップ1:デタッチDB

USE MASTER; 
GO 
ALTER DATABASE DBName 
SET SINGLE_USER 
WITH ROLLBACK IMMEDIATE; 
GO 

- デタッチDB

EXEC MASTER.dbo.sp_detach_db @dbname = N'DBName' 
GO 

ステップ2:
今EドライブにCドライブからファイルを移動します。これで、Eドライブでファイルを再アタッチできます。

+0

を通過します。私のCドライブはわずか9ギガバイトの間にデータベース20GBを復元したい – Keulraesik

+0

いくつかの解決策を確認してくださいhttp://dba.stackexchange.com/questions/34248/restore-backup-fails-not-enough-disk-space –

0
USE MASTER; 
GO 
ALTER DATABASE DBName 
SET SINGLE_USER 
WITH ROLLBACK IMMEDIATE; 
GO 
-- Detach DB 
EXEC MASTER.dbo.sp_detach_db @dbname = N'DBName' 
GO 
+0

これら2つの答えを1つにマージすることができます – TheGameiswar

+1

このコードスニペットは歓迎されていますが、いくつかの助けを与えるかもしれませんが、* how *の説明を含むと大幅に改善されます(// meta.stackexchange.com/q/114762) *なぜ*これが問題を解決するか。あなたが今質問している人だけでなく、将来読者のための質問に答えていることを忘れないでください!説明を追加するためにあなたの答えを[編集]し、どんな制限と前提が適用されるかを示してください。 –

0

SQL Server Management Studioを使用してデータベースを復元できます。 復元中にE:ドライブにMDFLDFファイルの場所を指定できます。

データベースファイルの新しい場所を指定するには、[ファイル ]ページを選択し、[すべてのファイルをフォルダに再配置]をクリックします。

ALTER DATABASE database_name SET OFFLINE; 

は、新しい場所にファイルまたはファイルを移動:ファイルフォルダに

THIS MIGHT HELP

0

のステップをデータファイルフォルダの新しい 場所を提供してログインします。 移動したファイルごとに、次の文を実行します。

ALTER DATABASE database_name MODIFY FILE (NAME = logical_name, FILENAME = 'new_path\os_file_name'); 

次の文を実行します。

ALTER DATABASE database_name SET ONLINE; 

次のクエリを実行してファイルが変更されていることを確認します。詳細は

SELECT name, physical_name AS CurrentLocation, state_desc 
FROM sys.master_files 
WHERE database_id = DB_ID(N'<database_name>'); 

は私のデータベースの物理的なパスがEドライブであるurl