[SQLServer]Express Edition で自動バックアップ

[SQLServer]Express Edition で自動バックアップ

方法1 VBSを使用する

Dim adoConnection
Set adoConnection = CreateObject("ADODB.Connection")
Call adoConnection.Open("Provider=SQLNCLI;Server=pe840\sqlexpress;Database=FJ;Integrated Security=SSPI;DataTypeCompatibility=80;MARS Connection=True;")

adoConnection.CommandTimeout=9000

Call adoConnection.Execute("BACKUP DATABASE [FJ] TO DISK = N'\\Unetdisk\disk1\ntbackup\PE840SQLSERVER_FJ.bak' WITH NOFORMAT, INIT, NAME = N'FJ-完全 データベース バックアップ', SKIP, NOREWIND, NOUNLOAD, STATS = 10")
Call adoConnection.Close
Set adoConnection = nothing

接続には以下の書き方もあるので環境にあわせて調整する
例1
Call adoConnection.Open(“Provider=SQLOLEDB;Server=xxxxxxx\sqlexpress;DATABASE=xxxxxxx;User ID=xxxxx;Password=xxxxxxxxx;Network Library=dbmssocn&quot
例2 Windows認証
Call adoConnection.Open(“Provider=SQLOLEDB;Server=xxxxxxi\sqlexpress;DATABASE=UNET;Network Library=dbmssocn;Trusted_Connection=Yes&quot
パラメータの詳細説明は:http://msdn2.microsoft.com/ja-jp/library/ms186865.aspx

方法2 sqlcmd を使用する方法

まず,バックアップ用SQLテキストファイルを作成する

BACKUP DATABASE [master] TO DISK = N’\\unetdisk\backup\master.bak’ WITH NOFORMAT, INIT, NAME = N’MASTER’, SKIP, REWIND, NOUNLOAD, STATS = 10
GO
BACKUP DATABASE [SUSDB] TO DISK = N’\\unetdisk\backup\SUSDB.bak’ WITH NOFORMAT, INIT, NAME = N’SUSDB’, SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

上記のファイルをsqlcmd で実行する
sqlcmd -S localhost\sqlexpress -i backup.sql

https://msdn.microsoft.com/ja-jp/library/ms170572.aspx

上記の例は常にバックアップファイルを上書きします。

解決しましたら、いいね か ツイート をお願いします

コメントする