2013-11-03 41 views
1

任何人都可以通過示例說明如何從C#中檢查SQL Server恢復模型嗎?我一直無法找到一個好例子。Microsoft.SqlServer.Management.Smo獲取SQL Server的恢復模型

編輯

這裏是我已經和這似乎是工作,我的問題是有沒有更好的方式來做到這一點

public void GetSQLRecoveryMode() 
{ 
    ServerConnection conn = new ServerConnection(dbServer, dbUser, dbPass); 

    Server srv = new Server(conn); 

    Database db = srv.Databases[dbDatabase]; 

    var recoveryModel = db.RecoveryModel; 

    if (recoveryModel.ToString().Equals("Simple")) 
    { 
      rbLogBackup.Enabled = false; 
      rbCompressedBackup.Enabled = false; 
    } 
    else 
    { 
      rbLogBackup.Enabled = true; 
      rbCompressedBackup.Enabled = true; 
    } 
} 
+0

對服務器運行一個查詢 - http://msdn.microsoft.com/en-us/library/ms189272.aspx#TsqlProcedure爲了這個,我得到了它的工作 – Laurence

回答

4

如果你想使用SMO - 然後使用此代碼:

Server srv = new Server("yourServerNameHere"); 

Database db = srv.Databases["YourDatabaseNameHeEre"]; 

var recoveryModel = db.RecoveryModel; 

有你有它!

+1

謝謝 – ondrovic

0

你可以從你的代碼執行這個查詢,以獲得恢復模式。

SELECT D.recovery_model_desc FROM sys.databases D WHERE name = 'DataBase_Name' 
0

下面的查詢顯示數據庫恢復模式的SQL Server上的雕像:

SELECT name,recovery_model_desc 
FROM sys.databases 
where name like '%your database name%'