欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

sqlserver已損壞,sql server 2008修復(fù)數(shù)據(jù)庫

sql server客戶端損壞如何備份數(shù)據(jù)

手頭上只有C#的代碼,不知道對你有沒有幫助

創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站營銷推廣,申請域名網(wǎng)站空間成都網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系創(chuàng)新互聯(lián)

遠(yuǎn)程備份要注意權(quán)限的問題,普通的訪問帳戶沒有備份和還原的權(quán)限,最好用sa的帳戶,并且程序訪問的帳戶必須添加到遠(yuǎn)程機器的系統(tǒng)內(nèi)

你說的遠(yuǎn)程備份到本地是不可能的,你只有開放遠(yuǎn)程某個文件夾加入你的特殊訪問帳戶權(quán)限

最好直接用遠(yuǎn)程桌面,這樣最方便

方法一(不使用SQLDMO):

///

///備份方法

///

SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;");

SqlCommand cmdBK = new SqlCommand();

cmdBK.CommandType = CommandType.Text;

cmdBK.Connection = conn;

cmdBK.CommandText = @"backup database test to disk='C:\ba' with init";

try

{

conn.Open();

cmdBK.ExecuteNonQuery();

MessageBox.Show("Backup successed.");

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

conn.Close();

conn.Dispose();

}

///

///還原方法

///

SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");

conn.Open();

//KILL DataBase Process

SqlCommand cmd = new SqlCommand("SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='test'", conn);

SqlDataReader dr;

dr = cmd.ExecuteReader();

ArrayList list = new ArrayList();

while(dr.Read())

{

list.Add(dr.GetInt16(0));

}

dr.Close();

for(int i = 0; i list.Count; i++)

{

cmd = new SqlCommand(string.Format("KILL ", list[i]), conn);

cmd.ExecuteNonQuery();

}

SqlCommand cmdRT = new SqlCommand();

cmdRT.CommandType = CommandType.Text;

cmdRT.Connection = conn;

cmdRT.CommandText = @"restore database test from disk='C:\ba'";

try

{

cmdRT.ExecuteNonQuery();

MessageBox.Show("Restore successed.");

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

conn.Close();

}

方法二(使用SQLDMO):

///

///備份方法

///

SQLDMO.Backup backup = new SQLDMO.BackupClass();

SQLDMO.SQLServer server = new SQLDMO.SQLServerClass();

//顯示進度條

SQLDMO.BackupSink_PercentCompleteEventHandler progress = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);

backup.PercentComplete += progress;

try

{

server.LoginSecure = false;

server.Connect(".", "sa", "sa");

backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;

backup.Database = "test";

backup.Files = @"D:\test\myProg\backupTest";

backup.BackupSetName = "test";

backup.BackupSetDescription = "Backup the database of test";

backup.Initialize = true;

backup.SQLBackup(server);

MessageBox.Show("Backup successed.");

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

server.DisConnect();

}

this.pbDB.Value = 0;

///

///還原方法

///

SQLDMO.Restore restore = new SQLDMO.RestoreClass();

SQLDMO.SQLServer server = new SQLDMO.SQLServerClass();

//顯示進度條

SQLDMO.RestoreSink_PercentCompleteEventHandler progress = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Step);

restore.PercentComplete += progress;

//KILL DataBase Process

SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");

conn.Open();

SqlCommand cmd = new SqlCommand("SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='test'", conn);

SqlDataReader dr;

dr = cmd.ExecuteReader();

ArrayList list = new ArrayList();

while(dr.Read())

{

list.Add(dr.GetInt16(0));

}

dr.Close();

for(int i = 0; i list.Count; i++)

{

cmd = new SqlCommand(string.Format("KILL ", list[i]), conn);

cmd.ExecuteNonQuery();

}

conn.Close();

try

{

server.LoginSecure = false;

server.Connect(".", "sa", "sa");

restore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;

restore.Database = "test";

restore.Files = @"D:\test\myProg\backupTest";

restore.FileNumber = 1;

restore.ReplaceDatabase = true;

restore.SQLRestore(server);

MessageBox.Show("Restore successed.");

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

server.DisConnect();

}

this.pbDB.Value = 0;

怎樣恢復(fù)損壞的SQL Server數(shù)據(jù)文件

1、確保備份下的master數(shù)據(jù)庫與要恢復(fù)的SQL SERVER的版本一致性。

2、關(guān)閉打開SQL Server Management Studio,打開服務(wù)器管理器,點擊“配置”-“服務(wù)”,找到SQL SERVER服務(wù),右鍵點擊出快捷菜單。點擊“停止”停止MSSQLSERVER服務(wù)。

3、以管理員賬戶打開cmd,輸入以下的命令:net start mssqlserver?/m。

4、打開SQL Server Management Studio,出現(xiàn)連接到服務(wù)器的窗口,點擊取消。

5、點擊“新建查詢”,出現(xiàn)連接到服務(wù)器的窗口,點擊確定。因為是單用戶模式,因此只能有一個鏈接進入。

6、在查詢窗口輸入以下的命令。

7、重新啟動SQL SERVER(MSSQLSERVER)服務(wù),右鍵點擊出快捷菜單。點擊“啟動”啟動服務(wù)就可以了。

SQLserver 突然間斷電,數(shù)據(jù)庫損壞,怎么辦?

我就實話實說了,也不說些假安慰的話了,如果數(shù)據(jù)損壞,那就看你有沒有備份過了,有備份的就幸運了,如果沒有的話,而你自己又不懂?dāng)?shù)據(jù)庫恢復(fù),那只有請人幫忙恢復(fù)了,而且不一定能修復(fù),數(shù)據(jù)庫修復(fù)是一個很復(fù)雜的問題,而且問題可大可小啊,需要懂的很多,而且沒有保證一定就能修復(fù),看情況而定

請問怎么去sqlserver數(shù)據(jù)庫恢復(fù)啊,最近停過一次電啊,然后就總是少文件,也不知道是哪里的原因

SQL數(shù)據(jù)庫被損壞分以下幾種情況:

1、嚴(yán)重?fù)p壞;2、輕度損壞;3、有些表被損壞或有些表的部分記錄被損壞。

日志文件已損壞,如何修復(fù)SQLSERVER2000數(shù)據(jù)庫文件

給你一個我日常維護數(shù)據(jù)庫的方法吧。

SQL Server 2000數(shù)據(jù)庫LDF損壞,只有mdf的恢復(fù)方法。

SQL Server 2000數(shù)據(jù)庫文件遭到破壞的現(xiàn)象經(jīng)常出現(xiàn),數(shù)據(jù)庫出錯是否可以修復(fù)呢?答案是可以的,本日志以一個sql server 2000數(shù)據(jù)庫,數(shù)據(jù)庫日志文件ldf損壞了,mdf正常,數(shù)據(jù)庫附加失敗的修復(fù)方法總結(jié)一下,數(shù)據(jù)庫數(shù)據(jù)恢復(fù)在很多時候比較復(fù)雜,當(dāng)數(shù)據(jù)庫存在大量錯誤的時候,使用DBCC修復(fù)也是不可以的,需要拆解數(shù)據(jù)庫來搶救重要的數(shù)據(jù),下面是較為常見的一種SQL Server 2000數(shù)據(jù)庫修復(fù)方式:

1) 先及時把原來的數(shù)據(jù)庫文件(如test.mdf)備份到其他地方。

2) 停掉服務(wù)器。

3) 刪除這個test.mdf。

4) 重新建立一個test同名數(shù)據(jù)庫。

5) 刪除這個新建立的test數(shù)據(jù)庫的test.ldf文件,并用開始備份好test.mdf文件覆蓋這個新建立的test.mdf文件。

6) 啟動數(shù)據(jù)庫服務(wù)器。此時會看到數(shù)據(jù)庫test的狀態(tài)為“置疑”。這時候不能對此數(shù)據(jù)庫進行任何操作。

.設(shè)置數(shù)據(jù)庫允許直接操作系統(tǒng)表。此操作可以在SQL Server Enterprise Manager里面選擇數(shù)據(jù)庫服務(wù)器,按右鍵,選擇“屬性”,在“服務(wù)器設(shè)置”頁面中將“允許對系統(tǒng)目錄直接修改”。

7) 設(shè)置test為緊急修復(fù)模式

update sysdatabases set status=-32768 where dbid=DB_ID('test')

此時可以在SQL Server Enterprise Manager里面看到該數(shù)據(jù)庫處于“只讀\置疑\脫機\緊急模式”可以看到數(shù)據(jù)庫里面的表,但是僅僅有系統(tǒng)表

8) 下面執(zhí)行真正的恢復(fù)操作,重建數(shù)據(jù)庫日志文件

dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

執(zhí)行過程中,如果遇到下列提示信息:

服務(wù)器: 消息 5030,級別 16,狀態(tài) 1,行 1

未能排它地鎖定數(shù)據(jù)庫以執(zhí)行該操作。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

說明您的其他程序正在使用該數(shù)據(jù)庫,如果剛才您在操作中使用SQL Server Enterprise Manager打開了test庫的系統(tǒng)表,那么退出SQL Server Enterprise Manager就可以了。

正確執(zhí)行完成的提示應(yīng)該類似于:

警告: 數(shù)據(jù)庫 'test' 的日志已重建。已失去事務(wù)的一致性。應(yīng)運行 DBCC CHECKDB 以驗證物理一致性。將必須重置數(shù)據(jù)庫選項,并且可能需要刪除多余的日志文件。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

此時打開在SQL Server Enterprise Manager里面會看到數(shù)據(jù)庫的狀態(tài)為“只供DBO使用”。此時可以訪問數(shù)據(jù)庫里面的用戶表了。

9) 驗證數(shù)據(jù)庫一致性

dbcc checkdb('test')

10.設(shè)置數(shù)據(jù)庫為正常狀態(tài)

sp_dboption 'test','dbo use only','false'

如果沒有出錯,那么恭喜,現(xiàn)在就可以正常的使用恢復(fù)后的數(shù)據(jù)庫啦。

11)最后一步,我們要將步驟6中設(shè)置的“允許對系統(tǒng)目錄直接修改”一項恢復(fù);

網(wǎng)站標(biāo)題:sqlserver已損壞,sql server 2008修復(fù)數(shù)據(jù)庫
文章分享:http://chinadenli.net/article12/dsihpgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)搜索引擎優(yōu)化云服務(wù)器服務(wù)器托管標(biāo)簽優(yōu)化網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化