100

内部サーバーで DB バックアップを実行するのが甘すぎました。

SQL Server 2005 で特定のデータベースをバックアップするために使用できる簡単なコマンド ライン プログラムはありますか? または、単純な VBScript はありますか?

4

13 に答える 13

116

コマンドラインから単一のデータベースをバックアップするには、osqlまたはsqlcmdを使用します。

"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\osql.exe" 
    -E -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak' WITH FORMAT"

また、バックアップ復元、および一般的な手順に関するドキュメントもお読みください。

于 2008-09-23T18:15:38.337 に答える
9

ExpressMaintを使用しています。

たとえば、すべてのユーザーデータベースをバックアップするには、次のようにします。

C:\>ExpressMaint.exe -S (local)\sqlexpress -D ALL_USER -T DB -BU HOURS -BV 1 -B c:\backupdir\ -DS
于 2009-02-25T16:14:15.463 に答える
8

すべてのデータベースをバックアップするには、以下をスケジュールします。

Use Master

Declare @ToExecute VarChar(8000)

Select @ToExecute = Coalesce(@ToExecute + 'Backup Database ' + [Name] + ' To Disk =     ''D:\Backups\Databases\' + [Name]   + '.bak'' With Format;' + char(13),'')
From
Master..Sysdatabases
Where
[Name] Not In ('tempdb')
and databasepropertyex ([Name],'Status') = 'online'

Execute(@ToExecute)

私のブログにも詳細があります:SQLServerExpressバックアップを自動化する方法。

于 2008-09-23T18:09:48.007 に答える
5

ApexSQLによるバックアップアプリケーションを利用できます。GUI アプリケーションですが、すべての機能が CLI でサポートされています。1 回限りのバックアップ操作を実行することも、指定したデータベースを定期的にバックアップするジョブを作成することもできます。スイッチ ルールを確認し、記事で例を示します。

于 2017-11-30T15:04:43.407 に答える
4

Linux/UNIX インフラストラクチャで tsql を使用して MSSQL データベースにアクセスしています。テーブルをファイルにダンプする簡単なシェル スクリプトを次に示します。

#!/usr/bin/ksh
#
#.....
(
tsql -S {database} -U {user} -P {password} <<EOF
select * from {table}
go
quit
EOF
) >{output_file.dump}
于 2012-06-12T18:08:47.933 に答える
3

–E スイッチが宣言するように、信頼できる接続がない場合は最終的に

次のコマンドラインを使用

"[program dir]\[sql server version]\Tools\Binn\osql.exe" -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak'" -S [server] –U [login id] -P [password]

どこ

[program dir] は osql.exe が存在するディレクトリです

32 ビット OS の場合 c:\Program Files\Microsoft SQL Server\
64 ビット OS の場合 c:\Program Files (x86)\Microsoft SQL Server\

[SQL サーバーのバージョン] SQL サーバーのバージョン 110 または 100 または 90 または 80 は最大の数字で始まります

[サーバー] サーバー名またはサーバー IP

[ログイン ID] ms-sql サーバーのユーザー ログイン名

[password] 必要なログインパスワード

于 2014-06-25T12:49:44.207 に答える
1

ここに例を示します。バックアップ データベースを取得し、7zip を使用して圧縮し、バックアップ ファイルを削除するため、ストレージに関連する問題も解決されます。この例では、無料の 7zip を使用しています。

@echo off

CLS

echo Running dump ...

sqlcmd -S SERVER\SQLEXPRESS -U username -P password -Q "BACKUP DATABASE master TO DISK='D:\DailyDBBackup\DB_master_%date:~-10,2%%date:~-7,2%%date:~-4,4%.bak'"

echo Zipping ...

"C:\Program Files\7-Zip\7z.exe" a -tzip "D:\DailyDBBackup\DB_master_%date:~-10,2%%date:~-7,2%%date:~-4,4%_%time:~0,2%%time:~3,2%%time:~6,2%.bak.zip" "D:\DailyDBBackup\DB_master_%date:~-10,2%%date:~-7,2%%date:~-4,4%.bak"

echo Deleting the SQL file ...

del "D:\DailyDBBackup\DB_master_%date:~-10,2%%date:~-7,2%%date:~-4,4%.bak"

echo Done!

これを sqlbackup.bat として保存し、毎日実行するようにスケジュールします。

バックアップのみを取りたい場合は、圧縮や削除を行わずにスクリプトを作成できます。

于 2021-10-08T10:42:34.620 に答える
-10

DBファイルが見つかったら...「cpDBFilesbackup/」

ほとんどの場合、ほとんどの場合お勧めできませんが、すべての起き上がりとしては簡単です。

于 2008-09-23T18:14:48.557 に答える