久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

sqlserver日志文件總結(jié)及充滿處理

時間:2019-05-12 14:02:14下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《sqlserver日志文件總結(jié)及充滿處理》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《sqlserver日志文件總結(jié)及充滿處理》。

第一篇:sqlserver日志文件總結(jié)及充滿處理

sqlserver日志文件總結(jié)及充滿處理 文章來源:sqlserver論壇 作者:hansbj

交易日志(Transaction logs)是數(shù)據(jù)庫結(jié)構(gòu)中非常重要但又經(jīng)常被忽略的部分。由于它并不像數(shù)據(jù)庫中的schema那樣活躍,因此很少有人關(guān)注交易日志。

交易日志是針對數(shù)據(jù)庫改變所做的記錄,它可以記錄針對數(shù)據(jù)庫的任何操作,并將記錄結(jié)果保存在獨立的文件中。對于任何每一個交易過程,交易日志都有非常全面的記錄,根據(jù)這些記錄可以將數(shù)據(jù)文件恢復(fù)成交易前的狀態(tài)。從交易動作開始,交易日志就處于記錄狀態(tài),交易過程中對數(shù)據(jù)庫的任何操作都在記錄范圍,直到用戶點擊提交或后退后才結(jié)束記錄。每個數(shù)據(jù)庫都擁有至少一個交易日志以及一個數(shù)據(jù)文件。

出于性能上的考慮,SQL Server將用戶的改動存入緩存中,這些改變會立即寫入交易日志,但不會立即寫入數(shù)據(jù)文件。交易日志會通過一個標(biāo)記點來確定某個交易是否已將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。當(dāng)SQL Server重啟后,它會查看日志中最新的標(biāo)記點,并將這個標(biāo)記點后面的交易記錄抹去,因為這些交易記錄并沒有真正的將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。這可以防止那些中斷的交易修改數(shù)據(jù)文件。

維護交易日志

因為很多人經(jīng)常遺忘交易日志,因此它也會給系統(tǒng)帶來一些問題。隨著系統(tǒng)的不斷運行,日志記錄的內(nèi)容會越來越多,日志文件的體積也會越來越大,最終導(dǎo)致可用磁盤空間不足。除非日常工作中經(jīng)常對日志進行清理,否則日志文件最終會侵占分區(qū)內(nèi)的全部可用空間。日志的默認配置為不限容量,如果以這種配置工作,它就會不斷膨脹,最終也會占據(jù)全部可用空間。這兩種情況都會導(dǎo)致數(shù)據(jù)庫停止工作。

對交易日志的日常備份工作可以有效的防止日志文件過分消耗磁盤空間。備份過程會將日志中不再需要的部分截除。截除的方法是首先把舊記錄標(biāo)記為非活動狀態(tài),然后將新日志覆蓋到舊日志的位置上,這樣就可以防止交易日志的體積不斷膨脹。如果無法對日志進行經(jīng)常性的備份工作,最好將數(shù)據(jù)庫設(shè)置為“簡單恢復(fù)模式”。在這種模式下,系統(tǒng)會強制交易日志在每次記錄標(biāo)記點時,自動進行截除操作,以新日志覆蓋舊日志。

截除過程發(fā)生在備份或?qū)⑴f標(biāo)記點標(biāo)為非活動狀態(tài)時,它使得舊的交易記錄可以被覆蓋,但這并不會減少交易日志實際占用的磁盤空間。就算不再使用日志,它依然會占據(jù)一定的空間。因此在維護時,還需要對交易日志進行壓縮。壓縮交易日志的方法是刪除非活動記錄,從而減少日志文件所占用的物理硬盤空間。

通過使用DBCC SHRINKDATABASE語句可以壓縮當(dāng)前數(shù)據(jù)庫的交易日志文件,DBCC SHRINKFILE語句用來壓縮指定的交易日志文件,另外也可以在數(shù)據(jù)庫中激活自動壓縮操作。當(dāng)壓縮日志時,首先會將舊記錄標(biāo)記為非活動狀態(tài),然后將帶有非活動標(biāo)記的記錄徹底刪除。根據(jù)所使用的壓縮方式的不同,你可能不會立即看到結(jié)果。在理想情況下,壓縮工作應(yīng)該選在系統(tǒng)不是非常繁忙的時段進行,否則有可能影響數(shù)據(jù)庫性能。

恢復(fù)數(shù)據(jù)庫

交易記錄備份可以用來將數(shù)據(jù)庫恢復(fù)到某一指定狀態(tài),但交易記錄備份本身不足以完成恢復(fù)數(shù)據(jù)庫的 任務(wù),還需要備份的數(shù)據(jù)文件參與恢復(fù)工作。恢復(fù)數(shù)據(jù)庫時,首先進行的是數(shù)據(jù)文件的恢復(fù)工作。在整個數(shù)據(jù)文件恢復(fù)完成前,不要將其設(shè)為完成狀態(tài),否則交易日志就不會被恢復(fù)。當(dāng)數(shù)據(jù)文件恢復(fù)完成,系統(tǒng)會通過交易日志的備份將數(shù)據(jù)庫恢復(fù)成用戶希望的狀態(tài)。如果在數(shù)據(jù)庫最后一次備份后,存在多個日志文件的備份,備份程序會按照它們建立的時間依次將其恢復(fù)。

另一種被稱為log shipping的過程可以提供更強的數(shù)據(jù)庫備份能力。當(dāng)log shipping配置好后,它可以將數(shù)據(jù)庫整個復(fù)制到另一臺服務(wù)器上。在這種情況下,交易日志也會定期發(fā)送到備份服務(wù)器上供恢復(fù)數(shù)據(jù)使用。這使得服務(wù)器一直處于熱備份狀態(tài),當(dāng)數(shù)據(jù)發(fā)生改變時它也隨之更新。另一個服務(wù)器被稱作監(jiān)視(monitor)服務(wù)器,可以用來監(jiān)視按規(guī)定時間間隔發(fā)送的shipping信號。如果在規(guī)定時間內(nèi)沒有收到信號,監(jiān)視服務(wù)器會將這一事件記錄到事件日志。這種機制使得log shipping經(jīng)常成為災(zāi)難恢復(fù)計劃中使用的方案。

性能優(yōu)化

交易日志對數(shù)據(jù)庫有重要作用,同時它對系統(tǒng)的整體性能也有一定影響。通過幾個選項,我們可以對交易日志的性能進行優(yōu)化。由于交易日志是一個連續(xù)的磁盤寫入過程,在這當(dāng)中不會發(fā)生讀取動作。因此將日志文件放在一個獨立的磁盤,對優(yōu)化性能有一定作用。

另一項優(yōu)化措施與日志文件的體積有關(guān)。我們可以設(shè)置日志文件的體積不超過硬盤空間的百分之幾,或者確定它的大小。如果將其設(shè)置的過大會浪費磁盤空間,而如果設(shè)置的過小則會強制記錄文件不斷嘗試擴展,導(dǎo)致數(shù)據(jù)庫性能下降。

事務(wù)日志文件Transaction Log File是用來記錄數(shù)據(jù)庫更新情況的文件,擴展名為ldf。

在 SQL Server 7.0 和 SQL Server 2000 中,如果設(shè)置了自動增長功能,事務(wù)日志文件將會自動擴展。

一般情況下,在能夠容納兩次事務(wù)日志截斷之間發(fā)生的最大數(shù)量的事務(wù)時,事務(wù)日志的大小是穩(wěn)定的,事務(wù)日志截斷由檢查點或者事務(wù)日志備份觸發(fā)。

然而,在某些情況下,事務(wù)日志可能會變得非常大,以致用盡空間或變滿。通常,在事務(wù)日志文件占盡可用磁盤空間且不能再擴展時,您將收到如下錯誤消息:

Error:9002, Severity:17, State:2

The log file for database '%.*ls' is full.除了出現(xiàn)此錯誤消息之外,SQL Server 還可能因為缺少事務(wù)日志擴展空間而將數(shù)據(jù)庫標(biāo)記為 SUSPECT。有關(guān)如何從此情形中恢復(fù)的其他信息,請參見 SQL Server 聯(lián)機幫助中的“磁盤空間不足”主題。

另外,事務(wù)日志擴展可能導(dǎo)致下列情形:

· 非常大的事務(wù)日志文件。

· 事務(wù)可能會失敗并可能開始回滾。

· 事務(wù)可能會用很長時間才能完成。

· 可能發(fā)生性能問題。

· 可能發(fā)生阻塞現(xiàn)象。

原因

事務(wù)日志擴展可能由于以下原因或情形而發(fā)生:

· 未提交的事務(wù)

· 非常大的事務(wù)

· 操作:DBCC DBREINDEX 和 CREATE INDEX

· 在從事務(wù)日志備份還原時

· 客戶端應(yīng)用程序不處理所有結(jié)果

· 查詢在事務(wù)日志完成擴展之前超時,您收到假的“Log Full”錯誤消息

· 未復(fù)制的事務(wù)

日志文件滿而造成SQL數(shù)據(jù)庫無法寫入文件時,可用兩種方法:

一種方法:清空日志。

1.打開查詢分析器,輸入命令

DUMP TRANSACTION 數(shù)據(jù)庫名 WITH NO_LOG

2.再打開企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了。

另一種方法有一定的風(fēng)險性,因為SQL SERVER的日志文件不是即時寫入數(shù)據(jù)庫主文件的,如處理不當(dāng),會造成數(shù)據(jù)的損失。

1: 刪除LOG

分離數(shù)據(jù)庫 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->分離數(shù)據(jù)庫

2:刪除LOG文件

附加數(shù)據(jù)庫 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->附加數(shù)據(jù)庫

此法生成新的LOG,大小只有500多K。

注意:建議使用第一種方法。

如果以后,不想要它變大。

SQL2000下使用:

在數(shù)據(jù)庫上點右鍵->屬性->選項->故障恢復(fù)-模型-選擇-簡單模型。

或用SQL語句:

alter database 數(shù)據(jù)庫名 set recovery simple

另外,數(shù)據(jù)庫屬性有兩個選項,與事務(wù)日志的增長有關(guān):

Truncate log on checkpoint

(此選項用于SQL7.0,SQL 2000中即故障恢復(fù)模型選擇為簡單模型)

當(dāng)執(zhí)行CHECKPOINT 命令時如果事務(wù)日志文件超過其大小的70% 則將其內(nèi)容清除在開發(fā)數(shù)據(jù)庫時時常將此選項設(shè)置為True

Auto shrink

定期對數(shù)據(jù)庫進行檢查當(dāng)數(shù)據(jù)庫文件或日志文件的未用空間超過其大小的25%時,系統(tǒng)將會自動縮減文件使其未用空間等于25% 當(dāng)文件大小沒有超過其建立時的初始大小時不會縮減文件縮減后的文件也必須大于或等于其初始大小對事務(wù)日志文件的縮減只有在對其作備份時或?qū)runcate log on checkpoint 選項設(shè)為True 時才能進行。

注意:一般立成建立的數(shù)據(jù)庫默認屬性已設(shè)好,但碰到意外情況使數(shù)據(jù)庫屬性被更改,請用戶清空日志后,檢查數(shù)據(jù)庫的以上屬性,以防事務(wù)日志再次充滿。

第二篇:日志和文件接入規(guī)范

數(shù)據(jù)接入規(guī)范-日志和文件

修訂歷史

日期

修改說明

部門

修改人

數(shù)據(jù)接入需求

基于數(shù)據(jù)采集需求,初步判斷數(shù)據(jù)的接入源是否可以從日志和文件進行獲取。聯(lián)系技術(shù)研發(fā)部同事,請求數(shù)據(jù)源接入的位置參數(shù),通過配置化方式定期讀取服務(wù)器指定位置的日志和文件,通過程序清洗日志,分割成字段裝載到數(shù)據(jù)倉庫貼源層。

數(shù)據(jù)接入流程

1.數(shù)據(jù)中心分析組接到TAPD數(shù)據(jù)接入需求之后,分析接入數(shù)據(jù)屬于數(shù)據(jù)接口列表的哪個系統(tǒng),在對應(yīng)的系統(tǒng)標(biāo)題下添加模板,參照APP-app_login_log。

和需求發(fā)起人進行溝通,確定提供數(shù)據(jù)的方式(數(shù)據(jù)庫、文件、接口等),讓需求發(fā)起人補充詳細的數(shù)據(jù)口徑,補充到需求要求里面,指定數(shù)據(jù)倉庫組或平臺組的一個人進行轉(zhuǎn)發(fā)。

2.數(shù)據(jù)倉庫組或平臺組根據(jù)需求描述。跟數(shù)據(jù)源提供方(可以是需求發(fā)起方、也可以是技術(shù)研發(fā)部門)溝通,讓其補充模板里的位置參數(shù)。

3.數(shù)據(jù)源提供方根據(jù)模板要求,提供位置配置參數(shù)。

4.數(shù)據(jù)倉庫組或平臺組在接入數(shù)據(jù)后,整理數(shù)據(jù)格式,編寫日志清洗轉(zhuǎn)換腳本,并補充裝載目標(biāo)表信息。

5.數(shù)據(jù)中心分析組對最終接入的數(shù)據(jù)進行驗收,并通知需求發(fā)起人如何獲得接入數(shù)據(jù)。

數(shù)據(jù)源接入模板

需求要求(分析組補充)

tapd需求單號:1002513

提起人:xxx(Richard.chen)

需求單號內(nèi)容:

???

提供數(shù)據(jù)方式:

數(shù)據(jù)庫、文件、接口

詳細的數(shù)據(jù)口徑:???

位置配置參數(shù)(技術(shù)研發(fā)部補充)

配置參數(shù)

參數(shù)取值

服務(wù)器地址

192.168.1.1

端口類型

ftp

端口號

系統(tǒng)用戶名

user

密碼

pwd

日志路徑

日志文件通配符

xxx/yyyymmdd/AppLog

app_login_log_[yyyymmdd].json

日志內(nèi)容分割規(guī)則

文字描述

接入模型字段(倉庫組補充)

字段名

注釋

字段類型

必填

必填

必填

必填

必填

必填

抽取參數(shù)(倉庫組補充)

配置參數(shù)

參數(shù)取值

抽數(shù)周期

每天

抽數(shù)時間

7:00

文件名匹配條件

1:全量匹配抽取(匹配通配符即抽取)

2:日期匹配抽取(僅抽取通配符日期字段匹配數(shù)據(jù)日期條件的文件)

數(shù)據(jù)日期格式

Yyyymmdd

Yyyy-mm-dd

數(shù)據(jù)日期條件

1:上一天日期

2:當(dāng)前時間日期

3:當(dāng)前時間歸屬周周日

4:當(dāng)前時間歸屬月一號

日志清洗轉(zhuǎn)換腳本(倉庫組補填)

補充腳本位置即可,如t8t-bi-dsc\log-app\log-app.py

裝載目標(biāo)表(倉庫組補填)

配置參數(shù)

參數(shù)取值

stg層表名稱

必填

stg層表描述

必填

ods層表名稱

必填

ods層表描述

必填

數(shù)據(jù)接口列表

PC

H5

APP

app_login_log

l

需求單號(分析組補充)

tapd需求單號:xxxxxxx

提起人:xxx(Richard.chen)

l

位置配置參數(shù)(技術(shù)研發(fā)部補充)

配置參數(shù)

參數(shù)取值

服務(wù)器地址

192.168.1.1

端口類型

ftp

端口號

系統(tǒng)用戶名

user

密碼

pwd

日志路徑

日志文件通配符

xxx/yyyymmdd/AppLog

app_login_log_[yyyymmdd].json

日志內(nèi)容分割規(guī)則

文字描述

l

接入模型字段(倉庫組補充)

字段名

注釋

字段類型

必填

必填

必填

必填

必填

必填

l

抽取參數(shù)(倉庫組補充)

配置參數(shù)

參數(shù)取值

抽數(shù)周期

每天

抽數(shù)時間

7:00

文件名匹配條件

1:全量匹配抽取(匹配通配符即抽取)

2:日期匹配抽取(僅抽取通配符日期字段匹配數(shù)據(jù)日期條件的文件)

數(shù)據(jù)日期格式

Yyyymmdd

Yyyy-mm-dd

數(shù)據(jù)日期條件

1:上一天日期

2:當(dāng)前時間日期

3:當(dāng)前時間歸屬周周日

4:當(dāng)前時間歸屬月一號

l

日志清洗轉(zhuǎn)換腳本(倉庫組補填)

補充腳本位置即可,如t8t-bi-dsc\log-app\log-app.py

l

裝載目標(biāo)表(倉庫組補填)

配置參數(shù)

參數(shù)取值

stg層表名稱

必填

stg層表描述

必填

ods層表名稱

必填

ods層表描述

必填

app_diary_log

小程序

第三篇:課題:SQLServer存儲過程返回值總結(jié)

SQLServer存儲過程返回值總結(jié)

1.存儲過程沒有返回值的情況(即存儲過程語句中沒有return之類的語句)

用方法 int count = ExecuteNonQuery(..)執(zhí)行存儲過程其返回值只有兩種情況

(1)假如通過查詢分析器執(zhí)行該存儲過程,在顯示欄中假如有影響的行數(shù),則影響幾行count就是幾

(2)假如通過查詢分析器執(zhí)行該存儲過程,在顯示欄中假如顯示'命令已成功完成。'則count =-1;在顯示欄中假如有查詢結(jié)果,則count =-1

總結(jié):A.ExecuteNonQuery()該方法只返回影響的行數(shù),假如沒有影響行數(shù),則該方法的返回值只能是-1,不會為0。

B.不論ExecuteNonQuery()方法是按照CommandType.StoredProcedure或者CommandType.Text執(zhí)行,其效果和A一樣。

2.獲得存儲過程的返回值--通過查詢分析器獲得

(1)不帶任何參數(shù)的存儲過程(存儲過程語句中含有return)

---創(chuàng)建存儲過程

CREATE PROCEDURE testReturn

AS

return 145

GO

---執(zhí)行存儲過程

DECLARE @RC int

exec @RC=testReturn

select @RC

---說明

查詢結(jié)果為145

(2)帶輸入?yún)?shù)的存儲過程(存儲過程語句中含有return)

---創(chuàng)建存儲過程

create procedure sp_add_table1

@in_name varchar(100), @in_addr varchar(100), @in_tel varchar(100)

as

if(@in_name = '' or @in_name is null)

return 1

else

begin

insert into table1(name,addr,tel)values(@in_name,@in_addr,@in_tel)

return 0

end

---執(zhí)行存儲過程

<1>執(zhí)行下列,返回1

declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count

<2>執(zhí)行下列,返回0

declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count

---說明

查詢結(jié)果不是0就是1

(3)帶輸出參數(shù)的存儲過程(存儲過程中可以有return可以沒有return)

例子A:

---創(chuàng)建存儲過程

create procedure sp_output

@output int output

as

set @output = 121

return 1

---執(zhí)行存儲過程

<1>執(zhí)行下列,返回121

declare @out int

exec sp_output @out output

select @out

<2>執(zhí)行下列,返回1

declare @out int

declare @count int exec @count = sp_output @out output

select @count

---說明

有return,只要查詢輸出參數(shù),則查詢結(jié)果為輸出參數(shù)在存儲過程中最后變成的值;只要不查詢輸出參數(shù),則查詢結(jié)果為return返回的值

例子B:

---創(chuàng)建存儲過程

create procedure sp_output

@output int output

as

set @output = 121

---執(zhí)行存儲過程

<1>執(zhí)行下列,返回121

declare @out int

exec sp_output @out output

select @out

<2>執(zhí)行下列,返回0

declare @out int

declare @count int

exec @count = sp_output @out output

select @count

---說明

沒有return,只要查詢輸出參數(shù),則查詢結(jié)果為輸出參數(shù)在存儲過程中最后變成的值;只要不查詢輸出參數(shù),則查詢結(jié)果為0

總結(jié):

(1)存儲過程共分為3類:

A.返回記錄集的存儲過程---------------------------其執(zhí)行結(jié)果是一個記錄集,例如:從數(shù)據(jù)庫中檢索出符合某一個或幾個條件的記錄

B.返回數(shù)值的存儲過程(也可以稱為標(biāo)量存儲過程)-----其執(zhí)行完以后返回一個值,例如:在數(shù)據(jù)庫中執(zhí)行一個有返回值的函數(shù)或命令

C.行為存儲過程----用來實現(xiàn)數(shù)據(jù)庫的某個功能,而沒有返回值,例如:在數(shù)據(jù)庫中的更新和刪除操作

(2)含有return的存儲過程其返回值為return返回的那個值

(3)沒有return的存儲過程,不論執(zhí)行結(jié)果有無記錄集,其返回值是0

(4)帶輸出參數(shù)的存儲過程:假如有return則返回return返回的那個值,假如要select輸出參數(shù),則出現(xiàn)輸出參數(shù)的值,于有無return無關(guān)

--------------------3.獲得存儲過程的返回值--通過程序獲得

---------------------------SqlParameter[] cmdParms = {..,new SqlParameter(“@return”,SqlDbType.Int)};cmdParms[cmdParms.Length1].Direction = ParameterDirection.Output或者 cmdParms[cmdParms.Length1].Value;

分類: asp.net

第四篇:MDF文件損壞及沒有日志文件恢復(fù)的總結(jié)

MDF文件損壞及沒有日志文件恢復(fù)的總結(jié)

大體思路是這樣的:

1。重建日志

先建一個同名的數(shù)據(jù)庫,并且對應(yīng)的文件名也得相同,停掉數(shù)據(jù)庫,然后到建立的這個數(shù)據(jù)庫的目錄下將對應(yīng)的兩個文件刪除,然后把MDF拷貝到這個目錄下。

啟動數(shù)據(jù)庫,便看到這個數(shù)據(jù)庫處于置疑狀態(tài)。

2。消除置疑狀態(tài) USE MASTER GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE--表示可以更改系統(tǒng)表

GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的數(shù)據(jù)庫名'--設(shè)置數(shù)據(jù)庫為緊急模式

Go

sp_dboption '置疑的數(shù)據(jù)庫名', 'single user', 'true'--設(shè)置數(shù)據(jù)庫為單用戶模式

Go

DBCC CHECKDB('置疑的數(shù)據(jù)庫名')

--檢查數(shù)據(jù)庫錯誤

Go

update sysdatabases set status =28 where name='置疑的數(shù)據(jù)庫名'--恢復(fù)數(shù)據(jù)庫為正常模式

Go

sp_configure 'allow updates', 0 reconfigure with override Go

sp_dboption '置疑的數(shù)據(jù)庫名', 'single user', 'false' Go 這里是最好的恢復(fù),MDF沒有損壞,上面的語句基本可以滿足

假如MDF有損壞,并且做DBCC里有N多錯誤,數(shù)據(jù)庫無法完整修復(fù)里可以考慮允許丟失數(shù)據(jù)修復(fù),方法如下

use master

declare @databasename varchar(255)

set @databasename='要恢復(fù)的數(shù)據(jù)庫名稱'

exec sp_dboption @databasename, N'single', N'true'--將目標(biāo)數(shù)據(jù)庫置為單用戶狀態(tài)

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--將目標(biāo)數(shù)據(jù)庫置為多用戶狀態(tài)

如果順利的話,應(yīng)該能解決問題。如果運氣實在不好,以上搞完之后DBCC還是出現(xiàn)錯誤,那可以用終極辦法

對表做允許數(shù)據(jù)丟失的修復(fù),具體方法如下

use master

declare @databasename varchar(255)

set @databasename='要恢復(fù)的數(shù)據(jù)庫名稱'

exec sp_dboption @databasename, N'single', N'true'--將目標(biāo)數(shù)據(jù)庫置為單用戶狀態(tài)

exec sp_msforeachtable ?DBCC CHECKTABLE(''?'',REPAIR_ALLOW_DATA_LOSS)?

exec sp_dboption @databasename, N'single', N'false'--將目標(biāo)數(shù)據(jù)庫置為多用戶狀態(tài)

如果你的運氣霉到家了,搞完上面的DBCC還是有問題,那么可以這樣

把數(shù)據(jù)庫導(dǎo)成一個新庫來代替舊庫

企業(yè)管理器--右鍵你的數(shù)據(jù)庫--所有任務(wù)--導(dǎo)出數(shù)據(jù)--目標(biāo)標(biāo)數(shù)據(jù)庫選擇新建

--選擇“在兩個sql數(shù)據(jù)庫之間復(fù)制對象和數(shù)據(jù)”--把“包含擴展屬性”選上,其他的根據(jù)需要選擇--最后完成這幾步一般會出現(xiàn)各種各樣的問題,大致有這么幾種

1。出現(xiàn)“未能在數(shù)據(jù)庫 'approve_new' 中運行 BEGIN TRANSACTION,因為該數(shù)據(jù)庫處于回避恢復(fù)模式。sp_dboption 命令失敗。”

出現(xiàn)這樣問題的解決: 將數(shù)據(jù)庫分離后再附加(或者重啟數(shù)據(jù)庫服務(wù))2。由于文件不可訪問,或者內(nèi)存或磁盤空間不足,所以無法打開數(shù)據(jù)庫 'approve_new'。詳細信息請參閱 SQL Server 錯誤日志。

1)在查詢分析器里執(zhí)行如下語句

sp_configure 'allow updates', 1 go reconfigure with override go use master go update sysdatabases set status = 32768 where name = 'UFDATA_003_2006' go sp_configure 'allow updates', 0 go reconfigure with override

2)再在查詢分析器里執(zhí)行如下語句 use master dbcc rebuild_log('數(shù)據(jù)庫名', '日志物理路徑')--重建日志

第五篇:SQLServer數(shù)據(jù)庫入門學(xué)習(xí)總結(jié)

SQL Server數(shù)據(jù)庫入門學(xué)習(xí)總結(jié)

經(jīng)過一段時間的學(xué)習(xí),也對數(shù)據(jù)庫有了一些認識。

數(shù)據(jù)庫基本是由表,關(guān)系,操作組成;對于初學(xué)者首先要學(xué)的:

1.數(shù)據(jù)庫是如何存儲數(shù)據(jù)的表,約束,觸發(fā)器

2.數(shù)據(jù)庫是如何操作數(shù)據(jù)的

insert,update,delete T-sql 函數(shù) 存儲過程 觸發(fā)器

3.數(shù)據(jù)庫是如何顯示數(shù)據(jù)的select

SQLServer數(shù)據(jù)庫學(xué)習(xí)總結(jié)

1.SQL基礎(chǔ)

SQL Server2000安裝、配置,服務(wù)器啟動、停止,企業(yè)管理器、查詢分析器

第一代數(shù)據(jù)庫--網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫;第二代數(shù)據(jù)庫--關(guān)系數(shù)據(jù)庫

數(shù)據(jù)庫(DB);數(shù)據(jù)庫管理系統(tǒng)(DBMS);數(shù)據(jù)庫系統(tǒng)(DBS)

SQL Server 2000 提供了不同版本:企業(yè)版、標(biāo)準(zhǔn)版、個人版、開發(fā)版

SQL Server中的數(shù)據(jù)類型:整數(shù):int,smallint,tinyint,bigint;浮點數(shù):real,float,decimal;二進制:binary,varbinary;邏輯:bit;字符:char,nchar,varchar,nvarchar;文本和圖形:text,ntext,image;日期和時間:datetime,smalldatetime;貨幣:money,smallmoney

數(shù)據(jù)庫的創(chuàng)建和刪除;數(shù)據(jù)庫表的創(chuàng)建、修改和刪除

數(shù)據(jù)完整性:實體完整性:Primary Key,Unique Key,Unique Index,Identity Column;域完整性:Default,Check,Foreign Key,Data type,Rule;參照完整性:Foreign Key,Check,Triggers,Procedure;用戶定義完整性:Rule,Triggers,Procedure;Create Table中得全部列級和表級約束

SQL Server中有5種約束:主鍵約束(Primary Key Constraint)、默認約束(Default Constraint)、檢查約束(Check Constraint)、唯一性約束(Unique Constraint)、外鍵約束(Foreign Key Constraint).關(guān)系圖

數(shù)據(jù)庫設(shè)計的步驟:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫物理設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護

兩個實體之間的聯(lián)系:一對一(1:1)、一對多(1:n)、多對多(m:n)

實體關(guān)系模型--E-R圖

數(shù)據(jù)庫規(guī)范化:將數(shù)據(jù)庫的結(jié)構(gòu)精簡為最簡單的形式;從表中刪除冗余列;標(biāo)識所有依賴于其他數(shù)據(jù)庫的數(shù)據(jù)。

數(shù)據(jù)庫三范式:第一范式就是無重復(fù)的列;第二范式就是非主屬性非部分依賴于主關(guān)鍵字;第三范式就是屬性不依賴于其他非主屬性

2.SQL語句

SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”

SQL的4個部分:

數(shù)據(jù)定義語言DDL(Data Definition Language)用來定義數(shù)據(jù)的結(jié)構(gòu):create、alter、drop。

數(shù)據(jù)控制語言DCL(Data Control Language)用來控制數(shù)據(jù)庫組件的存取許可、存取權(quán)限等得命令:grant、revoke。

數(shù)據(jù)操縱語言DML(Data Manipulation Language)用來操縱數(shù)據(jù)庫中得數(shù)據(jù)的命令:insert、update、delete。

數(shù)據(jù)查詢語言DQL(Data Query Language)用來查詢數(shù)據(jù)庫中得數(shù)據(jù)的命令:select。

SQL中得運算符

:算術(shù)運算符、位運算符、比較運算符、邏輯運算符、通配運算符、字符串連接符、賦值運算符

3.查詢

簡單查詢,使用TOP子句

查詢結(jié)果排序order by

帶條件的查詢where,使用算術(shù)表達式,使用邏輯表達式,使用between關(guān)鍵字,使用in關(guān)鍵字,模糊查詢like

在查詢中使用聚合函數(shù):sum(x),avg(x),min(x),max(x),count(x),count(*)使用分組查詢group by,having子句

distinct關(guān)鍵字

列別名

select top 6 * from sales order by qty desc select au_id,au_fname,au_lname

from

authors

where

state in('ks','ca','mi')

select au_fname,au_lname,phone from authors where au_id like '72[234]-%' select

簡單子查詢:嵌套子查詢、相關(guān)子查詢;子查詢的select語句中不能使用order by子句,roder by子句只能對最終查詢結(jié)果排序。type,sum(price),avg(price),count(*)

from

titles

group

by

type

having

type in('business','psycheology')嵌套子查詢:執(zhí)行過程,先執(zhí)行子查詢,子查詢得到的結(jié)果不被顯示,而是傳給外層查詢,作為外層查詢的條件,然后執(zhí)行外層查詢,并顯示結(jié)果。

嵌套子查詢的執(zhí)行不依賴于外層查詢,子查詢只執(zhí)行一次。

帶有比較運算符的子查詢,帶有in和not in的子查詢,帶有any或all的子查詢

相關(guān)子查詢:子查詢?yōu)橥鈱硬樵兊拿恳恍袌?zhí)行一次,外層查詢將子查詢引用的列的值傳給了子查詢。

相關(guān)子查詢的執(zhí)行依賴于外層查詢,子查詢需要重復(fù)的執(zhí)行。

帶有exists和not exists的相關(guān)子查詢。

多表聯(lián)接查詢:內(nèi)聯(lián)接(inner join)、外聯(lián)接((left、right、full)outer join)、自聯(lián)接(self join)和交叉聯(lián)接(cross join)

在查詢上創(chuàng)建新表:select into語句首先創(chuàng)建一個新表,然后用查詢的結(jié)果填充新表。

表別名

select coursename from course where courseid in(select distinct courseid from grade where grade>10)

select studname from student where sudbirthday > any(select studbirthday from student where class = '信息系')and class<>'信息系'

select studname from student where exists(select * from grade where studid = student.studid and courseid = '01')

select stud1.* from student as stud1 join student as stud2 on stud2.studname = 'mm' and stud1.studsex = stud2.studsex

select * into girls from student where studsex='m'

4.視圖、索引和事務(wù)

視圖是由一個或多個數(shù)據(jù)表(基本表)導(dǎo)出的虛擬表或者查詢表,是關(guān)系數(shù)據(jù)庫系統(tǒng)提供給用戶以多種角度觀察數(shù)據(jù)庫中數(shù)據(jù)的重要機制。

視圖的好處:能夠簡化用戶的操作;視圖能夠?qū)C密數(shù)據(jù)提供安全保護。

創(chuàng)建視圖時,視圖的名稱存在sysobjects表中。有關(guān)視圖中所定義列的信息添加到syscolumns表中,而有關(guān)視圖相關(guān)性的信息添加到sysdepends表中。另外,create view語句的文本添加到syscomments表中。

在通過視圖向表中插入數(shù)據(jù)時,如果insert語句列表中包含有視圖中沒有選擇的列和不允許為空值的列,這種操作是不允許的。

創(chuàng)建視圖:create view view_employee as select emp_id,fname,lname from employee 使用視圖:select * from view_employee

修改視圖:alter view view_employee as select emp_id,fname,job_id from employee where job_id>10

刪除視圖:drop veiw view_employee 查看視圖結(jié)構(gòu):exec sp_help view_employee

查看視圖定義信息:exec sp_helptext 'view_employee'

索引提供了一種基于一列或多列的值對表的數(shù)據(jù)行進行快速訪問的方法。索引提供的是表中得邏輯順序。

聚集索引基于數(shù)據(jù)行的鍵值在表內(nèi)排序和存儲這些數(shù)據(jù)行。當(dāng)數(shù)據(jù)表以某列為關(guān)鍵字建立聚集索引時,表中得數(shù)據(jù)行就以該列(聚集索引鍵)的排序次序進行存儲。每個表只能有一個聚集索引。

非聚集索引具有完全獨立于數(shù)據(jù)行的結(jié)構(gòu),一個表可以建立多個非聚集索引。

創(chuàng)建聚集索引:create clustered index studid_ind on stud(studid)

創(chuàng)建非聚集索引:create unique index studfullname_ind on stud(fname desc,lname)刪除索引:drop index stud.studid_ind 查看stud表上得索引:exec sp_helpindex stud

事務(wù)是一種機制,是一個操作序列,它包含了一組數(shù)據(jù)庫操作命令,并且所有的命令作為一個整體一起向系統(tǒng)提交或撤銷操作請求。

事務(wù)的特性:原子性(Atomicity)、一致性(Consistenty)、隔離性(Isolation)、永久性(Durability)。事務(wù)分類:顯示事務(wù)、隱性事務(wù)、自動提交事務(wù)。

視圖、索引和事務(wù)的創(chuàng)建、使用、修改和刪除

5.Transact—SQL編程

全局變量:由系統(tǒng)定義和維護,其名稱以@@字符開頭

局部變量:由用戶定義和賦值,其名稱以@字符開頭

輸出語句:print

邏輯控制語句:begin...end;break;case;continue;goto;if...else;return;while 常用函數(shù):行集函數(shù),聚合函數(shù),標(biāo)量函數(shù)

轉(zhuǎn)換函數(shù):convert(dt,e,s),cast()

數(shù)學(xué)函數(shù):絕對值abs(n),向上取整ceiling(n),向下取整floor(n),指定次冪power(n,y),四舍五入round(n,length),求符號sign(n),平方根sqrt(n)日期

數(shù)

:dateadd(datepart,num,date),datediff(datepart,date1,date2),datename(datepart,date),datepart(datepart,date),getdate(),year(date),month(date),day(date)

字符串函數(shù):lower(e),upper(e),left(e,i),right(e,i),replace(s1,s2,s3)用3替換1中的2,replicate(e,i)重復(fù)指定次數(shù),stuff(s1,start,length,s2)用2替換1中指定位置,substring(expression,start,length)元數(shù)

據(jù)

數(shù)

:db_id('database_name'),db_name(datebase_id),object_id('obj_name'),object_name(obj_id),col_length('table','column'),col_name(table_id,col_id)聚合函數(shù):avg(expr),count(expr),count(*),max(expr),min(expr),sum(expr)select au_lname,au_fname,contory = case state when 'u

t' then 'utah' when 'ca' then 'california' else 'world'

end,city from authors order by state desc

while(select avg(price)from titles)<30 begin

update titles set price = price * 2

if(select max(price)from titles)>50 break else continue end

print '價格太高'

begin

insert into jobs values('a',80,234)if @@error<>0 print '數(shù)據(jù)插入失敗' else goto M end

M:print '數(shù)據(jù)插入成功'

6.游標(biāo)

游標(biāo)是一種能從包含多條數(shù)據(jù)記錄的結(jié)果集中每次提取一條記錄的機制。將批操作變成行操作,對結(jié)果集中得某行進行操作。

declare author_csr cursor read_only for--定義只讀游標(biāo)

select au_fname,au_lname from authors where state = 'ca' order by au_fname,au_lname declare @lname varchar(20),@fname varchar(20)--定義變量

open author_csr--打開游標(biāo)

fetch next from author_csr into @lname,@fname--執(zhí)行一次數(shù)據(jù)讀取操作

while @@fetch_status=0--循環(huán)游標(biāo)讀取數(shù)據(jù)

begin

print 'author name:'+@lname+''+@fname fetch next from author_csr into @lname,@fname end

close author_csr--關(guān)閉游標(biāo)

deallocate author_csr--釋放游標(biāo)

7.存儲過程

存儲過程(stored procedure)類似c語言中的函數(shù),是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字餅給出參數(shù)來執(zhí)行它。

常用的系

統(tǒng)

:sp_database,sp_helpdb,sp_renamedb,sp_tables,sp_column,sp_help,sp_helpconstraint,sp_helpindex,sp_stored_procedure,sp_password 創(chuàng)建存儲過程:

create as

select @total=count(jy.askbookid)from book,jyls jy where bookname like @book_name and book.isbn=jy.isbn and jy.starttime>=@starttime and endtime<=@endtime procedure book_num

(@book_name

varchar(26),@starttime

datetime,@endtime datetime,@total int output)使用存儲過程:

declare @book_name char(26),@total int

set @book_name='面向?qū)ο蠓治龊驮O(shè)計'

exec book_num @book_name,'2007-01-01','2007-11-01',@total output select @book_name as bookname,@total as num

8.觸發(fā)器

觸發(fā)器是一種特殊類型的存儲過程,主要是通過實踐進行觸發(fā)而被執(zhí)行。

觸發(fā)器的主要作用就是能夠?qū)崿F(xiàn)由主鍵和外鍵所不能保證的復(fù)雜的參照完整性和數(shù)據(jù)的一致性。其他功能:強化約束,跟蹤變化,級聯(lián)運行,存儲過程調(diào)用。

SQL Server 2000支持兩種類型觸發(fā)器:

after觸發(fā)器:要求只有執(zhí)行某一操作之后,觸發(fā)器才被執(zhí)行,且只能在表上定義。

instead of觸發(fā)器:表示并不執(zhí)行其所定義的操作,而僅是執(zhí)行觸發(fā)器本身。既可以在表上定義,也可以在視圖上定義,但對同一操作只能定義一個instead of觸發(fā)器。

工作原理:

當(dāng)觸發(fā)insert觸發(fā)器時,新的數(shù)據(jù)行就會被插入到觸發(fā)器表和inserted表中。觸發(fā)器通過檢查inserted表來確定是否執(zhí)行觸發(fā)器動作或如何執(zhí)行。

當(dāng)在定義有觸

發(fā)器的表上執(zhí)行update語句時,原始行被移入到deleted表,更新行被移入inserted表。觸發(fā)器檢查deleted表和inserted表以及被更新的表,來確定是否更新了多行以及如何執(zhí)行觸發(fā)器動作。

當(dāng)觸發(fā)deleted觸發(fā)器后,從受影響的表中刪除的行將被放置到一個特殊的deleted表中。

create trigger update_smoke_t_sale on smoke_t_sale for update as

declare @newsalenum int,@smokeproductname varchar(40)select @newsalenum= salenum from inserted

select @smokeproductname=smokeproductname from inserted if update(salenum)--判斷是否更新

begin update smoke_t_sale

set

saletotalprice=@newsalenum

*

saleprice

where smokeproductname=@smokeproductname

insert into smoke_log(logContent)values('更新成功')end else

print '未更新'

9.數(shù)據(jù)庫高級管理

SQL Server安全體系結(jié)構(gòu),4個等級:客戶機操作系統(tǒng)的安全性,SQL Server的登錄安全性,數(shù)據(jù)庫的使用安全性,數(shù)據(jù)對象的使用安全性 SQL Server驗證模式:windows身份驗證模式和混合模式(windows身份驗證和SQL Server身份驗證)

登錄賬戶:用戶登錄(連接)SQL Server服務(wù)器的賬戶和密碼。

角色管理:服務(wù)器角色(負責(zé)管理和維護SQL Server的組);數(shù)據(jù)庫角色(是對某個數(shù)據(jù)庫具有相同訪問權(quán)限的用戶賬戶和組的集合)

數(shù)據(jù)庫用戶:對于每個要求訪問數(shù)據(jù)庫的登錄賬戶,必須在要訪問的數(shù)據(jù)庫中建立該數(shù)據(jù)庫的訪問賬戶,且與其登錄賬戶鏈接關(guān)聯(lián),才可進入該數(shù)據(jù)庫訪問。

權(quán)限管理:是指用戶是否能進行訪問數(shù)據(jù)庫資源的相應(yīng)操作。權(quán)限包括:語句權(quán)限、對象權(quán)限和暗示權(quán)限。

授予權(quán)限:

grant 語句 [...] to 安全賬戶[...]

grant 權(quán)限 [...] on 表或視圖[(列[,...])]|on 存儲過程|on用戶自定義函數(shù) to 安全賬戶[,...] 拒絕權(quán)限:

deny 語句 [...] to 安全賬戶[...]

deny 權(quán)限 [...] on 表或視圖[(列[,...])]|on 存儲過程|on用戶自定義函數(shù) to 安全賬戶[,...] 撤銷權(quán)限:

revoke 語句 [...] from 安全賬戶[...]

revoke 權(quán)限 [...] on 表或視圖[(列[,...])]|on 存儲過程|on用戶自定義函數(shù) from 安全賬戶[,...]

備份和恢復(fù):

數(shù)據(jù)庫備份設(shè)備,在進行數(shù)據(jù)庫備份之前,首先要創(chuàng)建備份設(shè)備。包括:磁盤、磁帶和命名管道

SQL Server 備份策略:只備份數(shù)據(jù)庫、備份數(shù)據(jù)庫和事務(wù)日志、差異備份。

backup database medicaldb to disk='medical_bk1' with name='medicaldb backup' description='medicaldb fullbackup' init restore database medicaldb from medical_bk1

導(dǎo)入導(dǎo)出:

DTS(Data Transformation Service)是SQL Server提供的數(shù)據(jù)傳輸服務(wù)。使用戶可以將來自完全不同數(shù)據(jù)源的數(shù)據(jù)析取、轉(zhuǎn)換并合并到單個或多個目的。

分離與附加:創(chuàng)建可移動的數(shù)據(jù)庫。

下載sqlserver日志文件總結(jié)及充滿處理word格式文檔
下載sqlserver日志文件總結(jié)及充滿處理.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    藤縣國有資產(chǎn)處理文件

    藤縣人民政府文件 藤政發(fā)〔2010〕39號 藤縣人民政府關(guān)于印發(fā)我縣國有資產(chǎn)處置(暫行)辦法的 通 知各鄉(xiāng)鎮(zhèn)人民政府,縣政府各部門: 《藤縣國有資產(chǎn)處置(暫行)辦法》已經(jīng)縣人民政府......

    辦公室文件處理實施辦法

    中共洱源縣委辦公室文件處理實施辦法一、收文辦理(一)收文辦理是指將收到的請示和其他需要報請領(lǐng)導(dǎo)批示的文件、材料按一定程序辦理的過程。 (二)收文辦理使用《文件處理箋》。......

    文件筐處理案例

    實訓(xùn)課 課 題:文件筐處理 教學(xué)基本要求:提高學(xué)員的決策、判斷、口頭表達與書面溝通能力,以便能面對現(xiàn)實同樣的情景能自如處理與應(yīng)對。 教學(xué)手段方法:情景模擬【情境】 輝躍制藥......

    緊急文件處理要求(5篇可選)

    緊急文件處理要求 1、特提:十分緊急要求隨到隨辦,必須立即辦理。 2、特急:內(nèi)容重要特別緊急,需要優(yōu)先迅速傳遞處理的文件,須2日內(nèi)辦理。 3、加急:須加緊處理的緊急文件,須4日內(nèi)辦理......

    文件處理座談會講話(精選5篇)

    現(xiàn)將相關(guān)情況匯報如下: 1、在對中央文件和自治區(qū)文件管理工作努力做到及時、準(zhǔn)確、安全、保密。在收發(fā)文件、處理文件、管理文件上,堅持按管理要求辦理、照章行事。及時將收文......

    pdfmaker文件遺失該如何處理

    pdfmaker文件遺失該如何處理 關(guān)于Adobe Acrobat Professional 8.0 PDFMaker文件遺失的問題,現(xiàn)在來看一下相關(guān)解決方法,本文由烈火學(xué)院小編收集于網(wǎng)絡(luò),感謝原作者的辛苦勞動!相信......

    實習(xí)日志總結(jié)

    實習(xí)總結(jié)有一名話叫做:不經(jīng)過風(fēng)雨,怎么見彩虹?我想改一下:不真正進入社會,怎能了解社會呢? 在這次實習(xí)中,給我收獲最大的是我覺得很多工作需要我去摸索和探討,要不怕吃苦,勇于激流勇......

    實習(xí)總結(jié)日志

    實習(xí)總結(jié)日志2010-02-20 15:02今天是實習(xí)的最后一天了,來到辦公室,拿了昨天的報紙,實習(xí)總結(jié)日志。幾天沒有寫實習(xí)日記了,今天還是動手寫點吧。昨天,寫了一個稿子,我覺得相當(dāng)無語。2......

主站蜘蛛池模板: 99亚洲男女激情在线观看| 日本另类αv欧美另类aⅴ| 欧美一道本一区二区三区| 亚洲精品国男人在线视频| 亚洲国产成在人网站天堂| 女人被狂躁60分钟视频| 国产伦子沙发午休系列资源曝光| 久久久精品波多野结衣| 精品成人乱色一区二区| 国产情侣一区二区三区| 国产成人精品高清在线电影| 国产成人久久777777| 最新的国产成人精品2021| 日本真人添下面视频免费| 在线高清理伦片a| 日韩国产亚洲一区二区三区| 国产免费一区二区三区vr| 亚洲欲色欲香天天综合网| 狠狠亚洲婷婷综合色香五月排名| 欧美日韩精品乱国产| 人摸人人人澡人人超碰手机版| 无码精品国产一区二区三区免费| 永久免费不卡在线观看黄网站| 免费人成再在线观看视频| 成年无码动漫av片在线尤物| 国产99久久精品一区二区| 萝卜视频高清免费视频日本| 日日摸夜夜摸狠狠摸婷婷| 小泽玛利亚一区二区在线观看| 中文字幕在线无码一区二区三区| 乱子伦视频在线看| 非洲黑人性xxxx精品| 丰满白嫩大屁股ass| 99久久免费国产精品| 亚洲无码视频在线| 99福利资源久久福利资源| 好了av第四综合无码久久| 男男19禁啪啪无遮挡免费| 啊轻点灬大粗嗯太深了| 国产女女做受ⅹxx高潮| 久久亚洲国产精品五月天婷|