關於sql資料庫修復的問題懂得進

2022-03-04 06:49:36 字數 3523 閱讀 4495

1樓:匿名使用者

--norecovery用於

recovery

指示還原作業回覆任何未認可的交易。在復原程式之後,資料庫便已備妥,可供使用。如果 norecovery、recovery 和 standby 三者都沒有指定,預設值就是 recovery。

如果規劃了後續的 restore 作業 (restore log,或差異備份的 restore database),就應該指定 norecovery 或 standby。

當從舊版 sql server 還原備份組時,可能需要升級資料庫。當指定 with recovery 時,會自動執行這項升級。如需詳細資訊,請參閱<套用交易記錄檔備份>。

附註:如果省略 from 子句,就必須在 with 子句中指定 norecovery、recovery 或 standby。

norecovery

指示還原作業不回覆任何未認可的交易。如果稍後必須套用另一個交易記錄,請指定 norecovery 或 standby 選項。如果 norecovery、recovery 和 standby 三者都沒有指定,預設值就是 recovery。

在使用 norecovery 選項的離線還原作業期間,無法使用資料庫。

若要還原資料庫備份和一或多個交易記錄,或每當需要多個 restore 陳述式 (例如,還原完整資料庫備份,後面再接著完整差異備份) 時,除了最後一個 restore 陳述式,restore 需要所有 restore 陳述式都使用 with norecovery 選項。最佳作法是在多步驟的還原序列中,在 all 陳述式上使用 with norecovery,直到抵達所需要的復原點為止,之後,再使用專供復原的個別 restore with recovery 陳述式。

當搭配檔案或檔案群組還原作業來使用時,norecovery 會強制資料庫在還原作業之後,維持還原狀態。在下列情況下,這非常有用:

正在執行還原指令碼,且始終在套用記錄。

使用一系列檔案還原,且資料庫的用途並不是要能夠在兩項還原作業之間使用。

在某些情況下,restore with norecovery 會將向前復原集向前捲動到足以與資料庫一致。在這種情況下,並不會進行回覆,資料會依照這個選項的預期,維持離線狀態。不過,database engine 會發出參考訊息,說明此時可以利用 recovery 選項來複原向前復原集。

2樓:匿名使用者

sql是資料庫管理系統 你要修復sql軟鍵 算了吧 如果是修改sql建立的資料庫還差不多 修復沒玩過 修改玩過

3樓:

原因是:再給一個欄位建立唯一值索引的時候,發現該欄位上存在不唯一的記錄,我現在倒是可以幫你寫個指令碼將重複的記錄刪除,但是 最好還是聯絡該軟體的開發人員,因為是開發人員沒有考慮到存在重複記錄導致的

4樓:

聯絡軟體的技術人員吧,這個不是sql資料庫修復的問題,是資料的問題。如果你確定熟悉資料,你可以試著刪除重複主鍵的資料

sqlite語句,懂得進,高分!

5樓:匿名使用者

如果表和欄位已經存在的話, 我覺得只能通過sqllitemanager把資料複製,重新定義表來改預設值了.

createtable tbl1(id int primarykey, dt datetime default (datetime('now','localtime'))

6樓:匿名使用者

-- 建立表時

create table test(

a integer,

b integer default 1,

c integer

);insert into test (a) values(12);

select * from test;

a b c

-------------------

12 1

-- 如果表已經建立 那麼,由於sqlite不支援對列的改名和修改型別等操作,那麼需要這樣修改。

alter table test to test_temp;

-- 重新建立表,增加預設值

create table test(

a integer,

b integer default 1,

c integer default 2

);-- 將表中資料拿回來

inset into test (a, b, c)select a, b, c from test_temp;

7樓:匿名使用者

update [表名] set=『預設值』

如何修復sql資料庫master

8樓:懂小喵

在網上搜尋了一下,發現了一篇介紹比較詳細的,而且也確實解決了這一問題(我在vm上測試過可以),特將其全文轉貼如下:

關於系統資料庫的恢復總結如下:

在sql server資料庫中,系統資訊儲存在系統資料庫中,主要的系統資料庫包括:

master-從整體上控制使用者資料庫和sql server操作,在建立了任何使用者定義的物件後,都要備份它

model-為新資料庫提供模版和原型

msdb-包含了有關作業、報警及操作員等資訊

如果包含系統資料庫的介質變了,那麼必須重建系統資料庫,如果你仍然可以啟動sql server服務,則可以通過restore語句從系統資料庫的備份中恢復資料庫。

如果master壞了,不能啟動系統,可以按照下面步驟進行恢復

1.重建系統資料庫 執行c:/mssql7/binn/rebuildm.exe,按照提示進行即可,

過程中需要系統資料庫樣本的路徑,可在安裝光碟中找到;

2 重建系統資料庫後,啟動sql server服務,用系統資料庫的備份恢復資料庫

就行了通常恢復順序為master->msdb->model

在恢復master的備份時要注意:必須在單使用者(single user)模式下進行

a.進入單使用者模式的方法:

1.在命令列模式下輸入sqlservr -c -f -m或者輸入sqlservr -m

其中:-c 可以縮短啟動時間,sql server 不作為windows nt的服務啟動

-f 用最小配置啟動sql server

-m 單使用者模式啟動sql server

2.可以在控制面板-服務-mssqlserver的啟動引數中輸入-c -f -m或者輸入-m,點選開始

3.進行master資料庫的恢復

a.直接進入查詢分析器,有個提示不要理會它

輸入恢復語句進行資料庫恢復:

restore database master from disk='c:/具體的備份檔名'

b.或者用這個,在命令提示符下輸入,注意大小寫

使用"windows身份驗證"的,輸入:isql /e

使用"sql server和windows身份驗證"的,輸入:isql /u"使用者名稱" /p"密碼"

然後在出現的提示符下輸入(注意1>,2>是提示符):

關聯式資料庫sql語言,關聯式資料庫SQL語言?

從關聯式資料庫r中列出屬性a,b,以及c的平均值,其條件是屬性d等於d,並將a,b分組列出,並篩選出c的平均值大於c1.好熟悉啊,不過都還大學老師了 執行的順序是從索引開始的,也就是條件,限制句中開始的,這樣可以減少i o次數 輸入,輸出 它所顯示的結果是這樣的 顯示的有 a列資料,b列資料和c列資...

sql資料庫題求大神幫忙,sql資料庫題求大神幫忙

if object id n member is not null drop table membercreate table member mid char 10 not null primary key,mname char 50 not null goexec sp addextendedpr...

怎樣修復已經損壞的SQL資料庫,怎樣恢復損壞的SQL Server資料檔案

我這邊有專業修復的軟體,效果還不錯 怎樣恢復損壞的sql server資料檔案 1 確保備份下的master資料庫與要恢復的sql server的版本一致性。2 關閉開啟sql server management studio,開啟伺服器管理器,點選 配置 服務 找到sql server服務,右鍵點...