2016-05-30 3 views
1

C#でSMO Backupクラスを使用してSQL Serverデータベースのバックアップを取るために必要なユーザーの(SQL)ロールは次のとおりですか? Windows認証を使用していますか? BACKUP DATABASEBACKUP LOGユーザーを実行できるようにするSMO Backupクラスを使用してSQL Serverデータベースのバックアップを取るために必要なユーザーの(SQL)ロールは何ですか?

Server myServer = new Server(servername); 

Backup bkp = new Backup(); 
bkp.Action = BackupActionType.Database; 

Database myDatabase = myServer.Databases[database]; 

bkp.Database = myDatabase.Name; 
bkp.Devices.AddDevice(path, DeviceType.File); 
bkp.BackupSetName = string.Format("{0} database Backup", database); 
bkp.BackupSetDescription=string.Format("{0} database - Full Backup", database); 
bkp.Initialize = true; 

bkp.SqlBackup(myServer); 

答えて

1

sysadmin固定サーバーロールのメンバーとdb_ownerdb_backupoperator固定データベースロールでなければなりません。 MSDN

+0

db_ownerとsysadminの役割を持たずにSQLスクリプトやC#コードを使用してバックアップすることはできますか? – bill

+0

いいえ、バックアップは微妙なことですが、誰もその種のものにアクセスできない可能性があります。バックアップは通常 'sa'によって実行されます。 – gofr1

+0

はいそれは繊細なものではありませんが、db_backupoperatorという別の役割があります。 – bill

関連する問題