日韩福利首页在线观看网站-日韩福利免费网站视频在线-日韩福利局二区视频-日韩福利-日韩二区在线-日韩二区三区四区-日韩二区三-日韩电影中文字幕

半岛外围网上直营

SQL Compare使用教程:如何使用SQL Compare CLI和批處理腳本構建和填充SQL Server數據庫

翻譯|使用教程|編輯:楊鵬連|2020-08-06 10:04:03.290|閱讀 307 次

概述:Phil Factor提供了功能強大的DOS批處理腳本,當與SQL Compare CLI結合使用時,您可以在開發過程中從源構建數據庫,并用測試所需的特定數據集填充它們。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

SQL Compare是一款比較和同步SQL Server數據庫結構的工具。現有超過150,000的數據庫管理員、開發人員和測試人員在使用它。當測試本地數據庫,暫存或激活遠程服務器的數據庫時,SQL Compare將分配數據庫的過程自動化。

點擊下載SQL Compare試用版

假設您需要構建數據庫的最新版本,將其存儲有測試所需的數據,然后分發該數據庫的多個副本。到目前為止,最快,最簡單的方法就是使用SQL Clone,尤其是在數據庫很大的情況下。或者,使用SQL Toolbelt,則可以從源目錄構建五個副本中的每個副本,通過BCP將它們填充到標準測試數據集,然后使用SQL Change Automation和某些PowerShell(或SQL Compare CLI和PowerShell)來部署它們。

但是,顯然,仍然有Ops的人更喜歡使用PowerShell而非DOS腳本,因為我最近關于該主題的博客之一令人驚訝地受歡迎。他們熟悉它,并且經常仍然維護著現有DOS腳本的大量存檔。我沉思,可以創建一個執行相同功能的DOS批處理腳本嗎?沒有PowerShell,沒有SMO,只有SQL Compare,SQLCMD和BCP。

DOS批處理腳本

乍一看,很難想象沒有一種比DOS Batch更有前景的腳本語言,盡管它特別適合于文件系統任務。它的根源可以通過CP / M和MSDOS追溯到UNIX。它仍在MSDOS中。這些年來,我不得不多次使用它來執行沒有現實選擇的任務。令人驚訝的是,它仍然吸引了少量但專注的追隨者。有關示例的最新和有趣的集合,請參見“ Rosetta代碼:Category:Batch文件”和DosTips – DOS 批處理指南。Rosetta Code網站允許您比較不同語言執行標準算法和任務時的代碼。

除了給管理員帶來溫暖,懷舊的感覺外,有時還存在共享數據庫租用之類的時間,或者創建帶有特殊數據集進行測試的數據庫時,像這樣基于DOS的方法會更方便。

更重要的是,幾乎每個版本管理工具,構建自動化工具,部署工作流系統,配置管理或持續集成工具都允許您執行DOS批處理。盡管PowerShell在Windows上非常流行,但它與我們所使用的通用腳本語言非常接近。

建立和填充數據庫的任務

在開發和測試期間,您通常需要創建一個或多個數據庫版本的副本,并存儲測試所需的特定數據。您可能需要維護幾個數據集。例如:

  • 可能不允許您訪問真實數據。這樣做有很多充分的理由。它可以是私人的也可以是機密的。這可能是非法的。因此,您將需要一個生成的數據集,該數據集在本質上與實數據盡可能接近,或者是真實數據的蒙版匿名版本。
  • 您可能正在支持一系列需要標準化數據集的測試,每次測試都需要使用標準化數據集,以使測試人員能夠進行黑盒測試。
  • 您可能正在進行可伸縮性測試,以確保數據庫設計在處理不同數量的數據時性能良好。
我們需要一種自動的方法來構建每個工作數據庫副本。如前所述,雖然有更簡便,更快捷的方法,但是我們將使用DOS批處理文件。它將使用SQL Compare從源目錄構建數據庫,然后使用BCP文件現有目錄中的數據填充該數據庫。為此,您提供根目錄的名稱,并將其存儲在代表服務器和數據庫的子目錄下的數據。它根據需要創建這些目錄。DOS腳本聯系新建的數據庫,獲取表列表,然后將數據從源目錄到目標進行BCP。
創建初始工作副本后,我們可以將其用作源數據庫來創建后續副本。在創建空的目標數據庫之前,DOS批處理腳本將檢查目標并刪除任何同名的現有數據庫。然后,它使用SQL Compare將空目標的模式與源同步,然后最終復制源數據庫中的所有數據。
除許多看似簡單的任務外,還存在某些復雜性。目標服務器需要使用正確的擴展名進行適當的設置,例如全文搜索,以滿足數據庫的要求。數據庫的要求可能需要特殊的過濾器或開關。使用SQL Compare,我們可以使用ArgFiles來優化腳本以允許這樣做。我展示了一種滑入BCP中可配置參數的方法,因為我需要具有這樣的設備才能進行ID /密碼驗證。
如果表或數據庫中包含非法名稱且其中帶有空格,則必須加以處理。如果在存儲文件時將它們用作目錄名,則SQL Server實例名稱也需要修改。
一項比較棘手的任務是從磁盤讀取任何必需的ID和密碼。將它們保存在腳本中是可怕的。至少必須將它們保存在用戶區的文件中,在該文件中NTFS安全性應使它們不被窺視。在理想情況下,每個應用程序都將接受并讀取標準連接字符串,但可悲的是,每個CLI應用程序似乎都有不同的方式來執行此操作,因此必須對憑據進行解析并為命令行正確布局。

運行代碼

出于本文的目的,該腳本采用了意識流樣式,以使其易于遵循,盡管如果您要做的工作很多,可以很容易地將其變成一個函數。

Echo off
VERIFY errors 2>nul
SETLOCAL ENABLEDELAYEDEXPANSION 
SETLOCAL ENABLEEXTENSIONS
Set outcome=did our best
if ERRORLEVEL 1 (
   echo could not set local execution environment
   goto bombsite
   )
REM set output to yes or no depending on whether you want the source to have its data copied out
Set output=yes 
REM set input to yes or no depending on whether you want the target to have its data copied in
Set input=yes
Rem set Source to the database you wish to copy
Set Source=MySourceDatabase
Rem Set SourceServer to the name of the server or instance to copy from
Set Sourceserver=MySourceServer
Rem set Target to the database you wish to copy to
Set Target=TestCopy
Rem BEWARE!! It deletes the existing copy of the database
Rem Set TargetServer to the name of the server or instance to copy to
Set TargetServer=MyDestinationServer
REM Specify your work directory. I chose 'BatchBCP' in my user area
Set workpath=%userProfile%\BatchBCP
Rem Specify a scripts directory for the source if you want one. otherwise put 'none'
Set SourceScriptsDirectory=c:\MySQLSourceDirectories\MyDatabase
REM before you start, if you need to write out your SQLCMD credentials to a file in your user
rem area using code like this, ONLY if you use SQL Server Credentials.
Rem echo MyUserID/MyPassword>%userProfile%\%TargetServer:\=_%SQLCompare.txt 
rem echo MyOtherUserID/MyOtherPassword>%userProfile%\%SourceServer:\=_%SQLCompare.txt 
Rem if ERRORLEVEL 1 (
Rem   echo Could not write Source Credentials
REM   goto bombsite
REM   )
rem
REM read in your Source SQLCMD command and credentials if you have any
if exist %userProfile%\%SourceServer:\=_%SQLCompare.txt (
   Set /p SourceCredentials=<%userProfile%\%SourceServer:\=_%SQLCompare.txt 
   )
if ERRORLEVEL 1 (
   echo Could not read in Source Credentials
   goto bombsite
   )
Rem Parse the source credentials into two variables
set "Sourceuid=%SourceCredentials:/=" & set "SourcePw=%"
Rem credentials are presented in two different ways by the CLI apps
Set SourcesqlcmdCredentials= /U %Sourceuid% /P %SourcePw%
Set SourceSQLCompareCredentials= /username1:%Sourceuid% /Password1:%SourcePw%
rem set source credentials correctly for windows security
IF NOT DEFINED  SourceCredentials ( 
  Set SourcesqlcmdCredentials =
  set SourceSQLCompareCredentials =
 )
REM read in your Target SQLCMD command and credentials if you have any
if exist %userProfile%\%TargetServer:\=_%SQLCompare.txt (
Set /p TargetCredentials=<%userProfile%\%TargetServer:\=_%SQLCompare.txt
)
if ERRORLEVEL 1 (
      echo Could not read in Target Credentials
      goto bombsite
    )
Rem Parse the target credentials into two variables
set "Targetuid=%TargetCredentials:/=" & set "TargetPw=%"
Rem credentials are presented in two different ways by the CLI apps
Set TargetsqlcmdCredentials= /U %Targetuid% /P %TargetPw%
Set TargetSQLCompareCredentials= /username2:%Targetuid% /Password2:%TargetPw%
rem set target credentials orrectly for windows security
IF NOT DEFINED  TargetCredentials ( 
  Set TargetsqlcmdCredentials =
  set TargetSQLCompareCredentials =
 )
Rem Now we check the Target database on the target server to see if it
Rem already exists, If so, we delete it and create an empty database
Set QUERY= IF EXISTS (SELECT name FROM sys.databases  where NAME LIKE 'testcopy' ) DROP DATABASE TestCopy; CREATE DATABASE TestCopy
sqlcmd -S %targetServer% %TargetsqlcmdCredentials% -d master -h -1  -f 65001  -Q "%QUERY%"
if ERRORLEVEL 1 (
   echo Failed to use target %targetServer% to create %target%.
   goto bombsite
   )
Rem now we synchronize the source with the target to provide  a fresh 
Rem new database at the right level
if %SourceScriptsDirectory% == none (
   echo synchronizing database %Source% on %sourceServer%  with %Target% on %TargetServer%
   "%ProgramFiles(x86)%\Red Gate\SQL Compare 13\sqlcompare.exe" /server1:%sourceServer% /database1:%Source%  %SourceSQLCompareCredentials% /server2:%targetServer% /database2:%Target% %TargetSQLCompareCredentials% /Synchronize
   SET outcome=created database %Target% on %TargetServer% from  %Source% on %sourceServer%
   ) else (
   echo synchronizing scripts directory %SourceScriptsDirectory% with %Target% on %TargetServer%
   "%ProgramFiles(x86)%\Red Gate\SQL Compare 13\sqlcompare.exe" /scripts1:%SourceScriptsDirectory% /server2:%targetServer% /database2:%Target% %TargetSQLCompareCredentials% /Synchronize
   SET outcome=created database %Target% on %TargetServer% from scripts
   )
if ERRORLEVEL 1 (
   echo An error with SQL Compare occurred.
   goto bombsite
   )
REM see the output onscreen while debugging.
REM check whether the database directory within the workpath/server directory exists
if not exist "%workpath%\%SourceServer:\=_%\%Source%" (md %workpath%\%SourceServer:\=_%\%Source%) 
if ERRORLEVEL 1 (
   echo An error creating "%workpath%\%SourceServer:\=_%\%Source%"  for database occurred 
   goto bombsite
   )
Echo Copying table data from %SourceServer%.%Source% to "%workpath%\%SourceServer:\=_%\%Source% "
Rem Create the query that brings you the list of tables. This is used for both 
rem the input and output operations. We can cope with tables that use  illegal characters
Set QUERY="SET NOCOUNT ON; SELECT replace(Quotename(Object_Schema_Name(object_id))+'.'+Quotename(name),' ','--') AS The_Tables FROM sys.tables WHERE is_ms_shipped=0;"
Rem only do the next block if the user wants data copied out from the source
if %output% == yes (
   REM Execute the query and work through the returned list of tables
   for /F usebackq %%i in (`sqlcmd -S %sourceServer%  %SourcesqlcmdCredentials%  -d %Source% -h -1  -f 65001  -Q %QUERY%`) do (
      rem for every tablespec in the list append the following text ....
      REM catch the first error caused by the sqlcmd 
      if ERRORLEVEL 1 (
         echo An error ovccured while accessing  %SourceServer%  to get the list of tables
         goto bombsite
      )
      Set Tablename= %%i
      for /f "tokens=* delims= " %%a in ("!Tablename!") do set Tablename=%%a
      Rem correct the name of the table
      Set Tablename=!Tablename:--= !
      REM change a dot for a dash as it isn't legal
      set filename= !Tablename:.=-!
      REM trim the filename- well, remove all spaces
      Set "filename=!filename: =!"
      echo Copying out data from !Tablename! in database %Source% on server %SourceServer% to !filename!.bcp
      BCP "!Tablename!" out  %workpath%\%SourceServer:\=_%\%Source%\!filename!.bcp  -n -d %Source%  -S %sourceServer%   %SourcesqlcmdCredentials% 
      if ERRORLEVEL 1 (
         echo BCP error when copying out data from !Tablename! in database %Source% on server %SourceServer%
         goto bombsite
         )
      ) 
      SET outcome=%outcome%, copied out data from %Source% on %SourceServer%
   )
Rem only do the next block if the user wants data copied out to the target
if %Input% == yes (
   Echo Copying table data to %TargetServer%.%Target% from "%workpath%\%SourceServer:\=_%\%Source%"
   REM Execute the query and create the entire SQL Command file that will be executed
   for /F usebackq %%i in (`sqlcmd -S %TargetServer%   %TargetsqlcmdCredentials%  -d %Target% -h -1  -f 65001  -Q %QUERY%`) do (
      rem for every tablespec in the list append the following text ....
      REM catch the first error caused by the sqlcmd 
      if ERRORLEVEL 1 (
         echo An error occured while accessing  %TargetServer%  to get the list of tables
         goto bombsite
         )
      Set Tablename= %%i
      for /f "tokens=* delims= " %%a in ("!Tablename!") do set Tablename=%%a
      Rem correct the name of the table
      Set Tablename=!Tablename:--= !
      REM change a dot for a dash as it isn't legal
      set filename= !Tablename:.=-!
      REM trim the filename- well, remove all spaces
      Set "filename=!filename: =!"
      echo Copying in data to !Tablename! in database %Target% on server %TargetServer% from %workpath%\%SourceServer:\=_%\%Source%\!filename!.bcp
      BCP "!Tablename!" in  %workpath%\%SourceServer:\=_%\%Source%\!filename!.bcp -n -d %Target% -E -S %TargetServer%   %TargetsqlcmdCredentials% 
      if ERRORLEVEL 1 (
         echo BCP error when copying in data from !Tablename! in database %target% on server %TargetServer%
         goto bombsite
         )
      ) 
   SET outcome=%outcome%, copied out data from %Source% on %SourceServer%
   )
 
goto end 
:bombsite
Rem This is where the program goes if a problem is detected
color 04
Echo Sadly, we failed, though we %outcome%!
echo on
ENDLOCAL
color
Exit /b 1
:end
REM This is where we go if all ended well. 
Echo we %outcome% and finished successfully
ENDLOCAL
echo on
Exit /b 0
全部測試

運行這個非常簡單。您做什么取決于任務。當然,您可以為每個任務設置批處理文件的不同版本,也可以選擇較低級別的維護選項,以記住源中注釋的配置選項。

1.從源目錄創建沒有數據的目標數據庫

在腳本的開始,在路徑的源目錄作為變量的值填充SourceScriptsDirectory,添加目標數據庫的名稱目標和實現目標服務器TargetServer,并在該指定workpath文件位置的路徑包含本地BCP數據文件的目錄。將輸出設置為no,將輸入設置為no(意味著不要將數據從源復制或復制到目標)。

2.從源目錄創建目標數據庫,并從BCP目錄填充數據

在腳本的開頭,在變量SourceScriptsDirectory中填寫源目錄的路徑,將目標數據庫的名稱添加到Target并將目標服務器的名稱添加到TargetServer。指定要在workpath文件位置,路徑到包含原始數據BCP文件的目錄。將輸出設置為no并將輸入設置為yes(表示不從源復制數據,而是將其復制到目標)

????????????????-??????°???èˉ′???è?a??¨??????
3.從源目錄創建目標數據庫,并填充源數據庫中的數據

在腳本的開頭,在變量SourceScriptsDirectory中填寫源目錄的路徑,將目標數據庫的名稱添加到Target并將目標服務器的名稱添加到TargetServer。指定要在workpath文件位置,路徑到包含原始數據BCP文件的目錄。將輸出設置為yes,將輸入設置為yes(表示從源復制數據并將其復制到目標)。

????????????????-??????°???èˉ′???è?a??¨??????
4.將目標數據庫與源數據庫(數據中的BCP)同步

您只需要在腳本的開頭填寫源數據庫和服務器的名稱,目標數據庫和服務器的名稱以及放置本地BCP數據文件的工作路徑文件位置。將輸出設置為yes并將輸入設置為yes。

è?a??¨???????????°???èˉ′????????1???

5.在沒有數據的情況下將目標數據庫與源數據庫同步

和以前一樣,在腳本的開頭填寫源數據庫和服務器的名稱,目標數據庫和服務器的名稱以及工作路徑位置。將輸出設置為no并將輸入設置為no。

處理登錄憑證

除非您要使用Windows登錄名進行操作,否則還需要將SQL Server憑據寫入一個文件,正如我在源代碼中所指出的那樣,該文件用于在用戶區域根目錄中使用的每臺服務器。這僅必須執行一次,然后您應該刪除代碼!我提供了執行此操作的源代碼:

REM before you start, if you need to write out your SQLCMD credentials to a file in your user
rem area using code like this, ONLY if you use SQL Server Credentials.
Rem echo MyUserID/MyPassword>%userProfile%\%TargetServer:\=_%SQLCompare.txt 
rem echo MyOtherUserID/MyOtherPassword>%userProfile%\%SourceServer:\=_%SQLCompare.txt 
Rem if ERRORLEVEL 1 (
Rem   echo Could not write Source Credentials
REM   goto bombsite
REM   )
rem
只需刪除REM關鍵字,添加您的UserID和憑據,一切都應該很好。執行代碼后,不要忘記刪除代碼。

運行DOS批處理腳本

打開命令提示符,然后鍵入批處理文件的名稱(包括路徑),然后關閉。DOS文件的性質就是這樣,事情很容易出錯,但是這段代碼應該不會有太多問題。要進行調試,請先刪除@echo第一行的內容,以便查看批處理的運行方式。這里還有更多提示。
這是典型的輸出,執行剛剛完成:

運行腳本后,您已經包括了BCP OUT操作(output=true),您應該在此處的目錄中看到文件:

如果啟動SQL數據比較,它將告訴您數據庫的兩個副本中的數據都相同。SQL Server也會對元數據說同樣的話。

結論

可以在DOS下作為CLI應用程序運行的應用程序的樂趣在于,您可以從多種腳本語言和方法中進行選擇。盡管我喜歡PowerShell,但周圍有很多人,特別是在Ops中,他們實際上更喜歡DOS批處理語言,因為它離操作系統很近,它在現有腳本的大型庫中使用,并且無需運行即可運行。特殊的腳本環境。

SQLCMD是一個功能強大的系統,您可以輕松地用其他方法來做很多事情。甚至數據庫開發人員也可以在常用片段庫的幫助下,將DOS視為吊裝腳本的便捷方法。如果將此功能與具有CLI接口的數據庫工具(例如SQL比較,SQL數據比較或SQL數據生成器)結合使用,那么您將擁有一個功能強大的工具包,可用于創建最新的開發版本并用所需的特定數據集填充它們。

相關產品推薦:

SQL Prompt:SQL語法提示工具

SQL Toolbelt:Red Gate產品套包

SQL Monitor:SQL Server監控工具


想要購買SQL Compare正版授權,或了解更多產品信息請點擊


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn

文章轉載自:

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
利記足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 真人boyu·博魚滾球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 最大網上PM娛樂城盤口(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規雷火競技官方買球(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 雷火競技權威十大網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) boyu·博魚信譽足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 權威188BET足球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規188BET足球大全(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 91精品国产丝袜 | 国内精品一区二区三区蜜月 | 5678电影网午夜理论片 | 日产亚洲一 | 91精品啪在线观看国产老人令品 | 在线观看日本亚洲一区 | 伦理片午夜视频在线观看免费 | 人与禽性视频77777 | 国产在线观看成永久视频 | 中文字字幕在线中 | 中文字幕亚洲不卡在线亚瑟 | 国产一级一片免费播放 | 午夜电影免费在线观看 | 欧美性爱免费网站 | 337p日本欧洲亚洲大胆在线 | 国产精品美 | 呦交小u女国产 | 日韩一区二区三区免费播放 | 欧美日韩国产一区二区三 | 亚洲欧美日韩中文字幕一区 | 日韩国产精品欧美一区二区 | 中文精品久 | 欧美午夜高清在线 | 日日噜噜夜夜狠狠va | 欧美人体视频一区二 | 欧美成āⅴ人高清免费观看 | 日韩亚洲欧美中文高清 | 国产性爱自拍视频 | 亚洲视频永久在线 | 国产精品免费高清在线观看 | 在线观看国产日韩欧美 | 国产成年女人特黄特色大片免 | 欧美日韩福利电影一区二区三区 | 三级网址| 99免费精品 | 91精品视品在线播放 | 91tv在线播放| 国产中文字幕免费不卡 | 一本大道香蕉久97在线播放 | 国产91精品在线观看一区 | 99好久 | 欧美激情全球免费视频 | 蜜汁娇妻有点甜全文阅读 | 亚洲一级在线中文字幕 | 国产在线精品一区二区夜色 | 欧美日韩亚洲第一页 | 九一视频| 国产免费一区不卡在线 | 日本高清视频一区 | 97超级碰碰碰电影 | 日本h无羞动漫在线观看网站 | 九一国产在线视频免观看 | 欧美体内she精视频 日本一本二本三区免费免费高清 | 精品国产乱伦一区二区三区 | 亚洲精品中文字幕无乱码 | 国产欧美亚洲现代激情 | 精品国产亚洲一区二区在线另类 | www.91xxx.com| 午夜视频一区二区三区 | 日本啊在线观看 | 亚洲日韩国产欧美一区二区三区 | 免费人成网站在线免费观看 | 欧美一级一区二区电影 | 真实国产乱子伦在线观看 | 免费特级婬片高清视频 | 高清影院 | 国产91原创视频 | 国产或人精品日本亚洲77美色 | 日韩精品欧美一区二区 | 国产一卡二卡3卡四卡 | 亚洲码专区亚洲码专区 | 性直播视频在线观看免费 | 日韩成人 | 日本欧美视频在线 | 国产精品亚洲日韩aⅴ在线 日本妇人 | 国产激情一区二区小说 | 国产喷水大秀在线观看2025 | 国产福利电影在线视频 | 午夜成人精 | 日韩精品一区二区三区影院 | 中文字幕人 | 亚洲精品高清在线观看 | 国产精品福利无圣光一区二区 | 欧美性hd正在播放淫亚洲 | 按摩bbwbbwbbw视频| 国产亚洲精品bt天堂 | 免费观看区一 | 午夜电影这里只有精品 | 91精品国产闺蜜国产在线闺 | 国产91尤物中文在线 | 国产拍偷精品网国产精 | 亚洲熟女一区二区三区 | 免费观看亚洲国内精品自在自线 | 国产精品熟女视频一区二区 | 国产日本欧美一区二区竹菊 | 97se亚洲综合自在线 | 免费国产污网站在线观看 | 国产欧美精品亚洲日本一区 | 日韩高清在线精品观看一区二区 | 成人永久福利在线观看不卡 | 国产99精 | 欧美日韩在线一区二区免费 | 18深夜在线观看免费视频 | 国产老肥熟一区二区三区 | 成人欧美一区二区三区在线 | 手机香蕉国产在线 | 国产在线观看福利一区二区 | 日韩一区二区三区视频在线观 | 成人免费高清视频 | 99精品全国在线观看 | 亚洲中午字幕 | 国产一级二级不卡精品 | 成年人电影在线播 | 国产一级特黄生活片 | 国产一级午夜福利免费区 | 91福利在线观看视频 | 日本亚洲色大成网站www | 免费成人高清在线视频 | 国产欧美日韩在线一区二区不卡 | 亚洲色大成网站www永久 | 中日韩精品一区二区三区成人 | 91网视频在线观看 | 国产国产人免费人成成免视频 | 日本一道在线播放高清 | 日本高清专区一区二无线 | 欧美日韩一区精品视频一区二区 | 久章草在线视 | 制服丝袜另类专区制服 | 欧美中文字幕在线 | 国产日韩一二三四区 | 企业档案 | 亚洲欧美日本人成在线观看 | 国产精品亚洲精品爽爽 | 欧美日韩一区二区三在线 | 企业档案 | 欧美午夜成人精品视频欧洲欧 | 夫妻之间免费观看完整版 | 成人级片中文字幕在线播放 | 亚洲日本在线不卡 | 日本大肚子孕妇交xxx | 亚洲人成网站77777免费 | 综合国产影视 | 国语自产偷拍精品视频偷 | 在线观看精品自拍视频 | 欧美乱片中文字幕 | 羞羞影院成人午夜爽爽在线 | 国产视频在线一二区精品分类 | 重口视频二区在线观看 | 国产无你高清在线观看aⅴ 色国产精品妇射 | 日本免码va免费观看 | 亚洲欧美性综合在线 | 亚洲欧洲日韩综合色天使 | 亚洲欧洲国产视频 | 区二区欧 | 老司机精品福利导航 | 亚洲国产无 | 欧美极品欧美精品欧美 | 国产高清成人精品 | 国内夫妇精品对白在线播放 | 亚洲精品宾馆在线精品酒店 | 国产精品一区日本 | 国产乱子伦精品免费视频 | 国产在线观看免费 | 太大太长太粗太久太硬了 | 日本va在线视频国产 | 字幕一区在线观看视频 | 最新一卡二卡 | 日韩不卡在线观看 | 日韩精品先免费一区二区三区 | 午夜日韩欧美电影在线 | 欧美一区二区手机在线观看视频 | 日本一区二区三区精品国产 | 欧美多人顶级午夜寂寞影院 | 国产视频一区二区在线观看 | 韩精品欧美综合区 | 欧美日韩国产一区二区三区欧 | 精品国产第一页 | 欧美日韩第一页中文字幕 | 国产精品伦一区二区三级视频 | 成人论坛网 | 欧美va在线观看 | 欧美午夜一区二区之蜜桃 | 靠逼视频一区二区三区 | 国产在线观看免费永久 | 国产一级强片在线观看 | 国产不卡福利片在线观看 | 亚洲国产精品自在拍在线播放蜜臀 | 亚洲国产中文日韩精品乱码 | 亚洲欧美日韩一区在线观看 | 欧美性狂猛xx | 日本视频wwwwwwwww | 亚洲欧美另类视频小说专区 | 国产精品va尤物在线观看 | 国产后入清纯学 | 在线精品自 | 成人性午夜视频在线观看 | 国产精品福利在线72国 | 在线观看视频在线播放9 | 国产亚洲高清不卡在线观看 | 国产亚洲免费在线观看 | 国产农村妇女精品 | 丝袜视频 | 9re久精品视频 | 国产精品资源网站在线观看 | 欧美亚洲国产另类制服丝袜 | 国产精品偷伦视频免费观看 | 欧美性性性性 | 懂色aⅴ精品一区二区三区蜜月 | 山东猎头 | 国产在线一区二区三区四区 | 日韩精品欧美激情国产一区 | 亚洲欧美日韩精品 | 精品国产aⅴ一区二区 | 欧美va天堂在线 | 偷拍区清纯另类丝袜美腿 | 欧美精品国产制服第一页 | 日韩视频在线观看免费 | 欧美精品视频在线不卡 | 国产电影免费在线播放 | 菠萝视频免费最新在线观看 | 三年片在线观看免费 | 国产美女一区二区丝袜美腿 | 99热视热频这 | 日本一道一区二区免费看 | 成年男女免费视频网站 | 真实的国产乱xxxx在线 | 国产精品99精品一区二区浪潮 | 日产精品一| 天美麻花视频大全 | 国产玉足榨精在线观看sm | 4k在线网站| 91啪精品国产自产在线观看 | 国产精品一区二区视色 | 国产乱了真 | 欧美一级特黄aaa大片在线观看 | 精品欧乱仑在线 | 亚洲精品aⅴ中文字幕 | 欧美日韩国产一区二区三 | 韩国三级日本三级美三级 | 国产不卡在线观看 | 欧美综合 | 中日韩精品视频在线观看 | 日韩电影免费在线观看中文字幕 | 国产福利在线观看永 | 91热青草国产在线视频 | 全集高清免费的影视剧在线观看 | 欧美日韩a∨不卡视频在线 亚洲一码二码三码 | 国产极品在线免播放器 | 亚洲欧美综合在线精品 | 99热视热频这 | www.99re6这里有精品 | 最近中文字幕高清字幕在线视频 | 中文字幕巨大乳在线看 | 午夜福利电影在线观看 | 日韩成人极品在线内 | 国产va免费精品 | 国产网站免费视频 | 日韩精品福| 欧美日韩性爱 | 国产乱子伦三级在线播放 | 尤物视频 | 日产精品区至六区在线 | 破女全过程完整版 | 国产亚洲精品线观看77 | 亚洲欧美一区二区三区 | 国产香蕉人人干干 | 欧美交a欧美精品喷水 | 国产性色强伦免费视频 | 国产萌白酱喷水在线播放尤物 | 欧美日韩第一页 | 亚洲一区二区 | 国产v欧美v日韩v亚洲老妇 | 亚洲精品国产一级高清在线观看 | 亚洲欧洲日韩国产一区二区三区 | 亚洲伦理精品一区二区三区 | 最新日本一道免费一区二区 | 国产精品天天看特色大片不卡 | 99精产国品一二三产区区 | 国产欧美日韩综合二区三区 | 成人国产第一区在 | 欧美国产在线精品国自产拍 | 国产影视乱伦日本 | 国产欧美亚洲一区二区 | 午夜免费看片 | 欧美乱妇高清乱码视频 | 欧美高清性色生活片 | 五月丁香六月综合激情在线观看 | 国产亚洲日韩在线播放人成 | 国产乱伦视 | 日韩欧美一区二区三区四 | 国产1卡二卡3卡四卡乱码视频 | 国产高清自拍一区 | 美女视频黄a视频全免费网站二区 | 日本不卡一区 | 成人免费一区二区三区 | 欧美午夜一区二区之蜜桃 | 探花视频在线 | 色综合综合色 | 97国产在线观看 | 国产亚洲成年网址在线观看 | 黑人巨大精品欧美一区二区免费 | 欧美日韩不卡中文字幕在线 | 91精品网站天堂系列在 | 欧美精品免费观看二区 | 国产二区在线播放 | 国产高清在线观看一区二区三区 | 国产熟女绯色一区二区三区免费 | 色色色色色色欧美日韩 | 国产欧美一级高清片 | 欧美淫秽一区二区 | 精品国产女同疯狂摩擦2 | 达达兔欧美午夜国产亚洲 | 乱中年女人伦一 | 卡一卡二卡三乱码厨房 | 91午夜国产在线观看 | 国产一级淫片免费视 | 亚洲一区二区在线欧洲 | 99爱国产精品免费高清在线观看 | 啦啦啦免费高清在线观看 | 欧洲精品一区二区三区在线观看 | 国产精品色一区二区三区 | 免费的又色又爽又黄的片 | 国产蜜片免费在线观看播放 | 国产精彩视频在线观看91 | 免费成人午夜激 | 欧美精品国产日 | 国语自产拍在线视视频 | 日韩美女一级淫片 | 最近中文字幕mv免费高清视频 | 人人爰人人人人人鲁 | 国产高清盗摄系列在线 | 国产精品不卡a∨在线观看 人片在线观看www | 欧美亚洲a∨中文 | 国产亚洲欧美日韩在线看片 | 欧美手机手机在线视频一区 | 亚洲制服丝袜中文字幕自拍 | 国产精品亚洲片 | 激情影院內射美女 | 日本高清不卡中文字幕网 | 日本高清色本 | 免费观看全黄做爰大片小说 | 免费的精品一区二 | 亚洲视频日 | 国精产品一区二区三区有限 | 成人国产一区二区三区 | 免费国产va在| 老司机天堂福利在线观看 | 91精品国产自产老师啪 | 女同一区二区三区在线 | 欧洲精品免费一区二区三区 | 亚洲精品高清在线观看 | 另类专区国产在 | 国产丝袜精品丝袜一区二区 | 中文字幕一区二区三区精品 | 日韩欧美亚洲国产高清 | 精品国产亚洲一区二区在线另类 | 日韩性爱官方网站 | 成人影院 | 国产精品精品国产 | 亚洲国产欧美日韩一区 | 亚洲精品中文字 | 日本精品一区二区三区不卡 | 欧美最大网永久免费观看 | 国产大秀视频一 | 日本道vs高清一区二区三区 | 乱伦日本亚洲中文 | 天天综合网网欲色 | 国产拍精品亚洲国产高清 | 国产又黄又爽又猛免费视频 | 日本又黄又粗暴的视频 | 国产l精品国产亚洲区在线观看 | 国产ā片在线观看免费观看 | 亚洲精品亚洲欧美综合区 | 日本最大色倩网站www | 欧美亚洲日韩一区二区三区中 | 91碰碰视频 | 亚洲国产精品免费在线观看 | 国产三香港三韩国三级 | 国产黄在线观看免费观看 | 一二三四 | 玖玖免费视频在线观看 | 亚洲国产精品综合 | 亚洲精品自有码中文字 | 亚洲中文 | 99re视频热这里只有精品7 | 国产91高清免费 | 亚洲色中文字幕先锋 | 国产精品一线 | 国产精品区一区二区免费 | 91福利区| 国产在线观看精品一区二区 | 欧美性爱第1页影音先锋 | 偷国内自拍视频在线观看 | 国产精品亚洲а∨怡红院 | 91国语| 国产人成在线观看91 | 欧美婬荡的护士hd中文幕s | 日本一道dvd中文字幕 | 国产精品三级在线观看 | 免费在线观看小说区激情另类 | 免费人成视频在线观看播放网站 | 日本人视频国产一区二区三区 | 军训完被教官灌满精子男男 | 日韩一区二区免费 | 亚洲欧美日韩高清综合678 | 欧美午夜成人精品视频欧洲欧 | 国内精品美女a在线播放 | 日本一区二区在线免费观看 | 不卡无在线一区二区三区观 | 国产老女人91精品一区 | 国产精品成人第一区 | 亚洲人成在| 亚洲欧美日韩国产色另类 | 国产精品免费在线 | 国产日产精品日韩欧美一区 | 日韩精品国产欧美 | 区二区欧| 乱伦综合国产免费 | 岛国在线免费观看 | 国精产品999一区二区三区有 | 国产普通话激情对白tube | 欧美变态一区二区 | 色琪琪原网站亚洲香蕉 | 亚洲免费体验区 | 1000拍拍拍无挡 | 洋妞国产全集在线观看 | 精品夜恋影院亚洲欧洲 | 国产福利电影一区二区三区 | 中文字幕日本一本二本 | 国拍在线精品 | 欧美在线观看h片 | 激情五月天深爱网 | 好看的电影电视剧在线观看 | 99视频精品全部国产盗摄视频 | 欧美综合视频在线观看 | 亚洲国产精品日韩v专区 | 免费ā片在线观看 | 免费国产黄频在线观看视频 | 91精品酒店情 | 欧美特一级| 成人精品亚洲欧美日韩 | 日本一道在线播放高清 | 欧美精品a欧洲黑 | 国产在线精品一区二区 | 久插视频 | 欧美大成色www永久网站婷 | 精品一区二区在 | 91啦91pornv| 一级特黄aaa大片在线观看视频 | 国产伦亲子伦亲子视频观看 | 成人18免费网站 | 99国产乱码在 | 国产一区二区三区免费在线观看 | 国产亚洲成?v人在线观看导航 | 久青草久青草视频在线观看 | 国产精品一区二 | 五十路○の豊満な肉体 | 日本美女午夜福利影片 | 国产精华液和欧美的精华液的区 | 国产女人喷潮视频免费 | 国产电影一曲二曲三曲 | 中文字幕一区日韩精品 | 日韩亚洲欧洲精品婷婷涩 | 国产一级特黄aa大片在线 | 永久免费播放 | 在线视频一区二区三区三区不卡 | 亚洲第一精品电影网 | 九月婷婷人人澡人人添 | 国产欧美日本亚洲精品一5区 | 国产伦理一区 | 99re热视频这里只有综合亚洲 | 国产99视频精品免视看9 | 国产美女一级做视须爱 | 岛国大片在线观看 | 亚洲高清国产品国语在线观看 | 国产夜色福利院在线观看免费 | 国产在线视频自拍 | 国产精品三级不卡电影 | 91神马电| 欧美一区区三区四区五区在线观看 | 欧美色色一级有声色色色 | 97精品国产高清自在线看超 | 午夜国产精品免费观看 | 国产原创露脸视频在线观看 | 成人欧美视频在线观看 | 亚洲日韩在线精品茄子在线 | 午夜级理论片在线播放202 | 欧美亚洲亚洲日韩在线影院 | 国产精品一卡二卡3卡四卡网站 | 成人国内 | 青苹果影院 | 国产人成精品香港三级在线 | 乱子伦视频在线看 | 国产免费一区二区三区香蕉精 | 国产精品影院 | 不卡一区二区三区在线 | 日产无人区一线二线三线最新版 | 亚洲高清网站 | 99热这里只有精品88 | 色哟哟免费精品网站入口 | 国产精品.xx视频.xxtv | 亚洲欧美日韩精品永久 | 亚洲一区二区三区在线 | 91伊人 | 欧美亚洲日韩一区二区 | 精品国产蜜桃在线等一页 | 国产日产精品视频 | 欧美激情综合网 | 欧美极品日韩极品1 | 中文字幕精品亚洲电影 | 国产免费观看大片视频 | 成人起碰免费视频 | 国产成a人片在线观看视频首页 | 日本一本之道之视频在线不卡 | 国产国产成年人 | 成人国产亚洲日本在线 | 九九热在线视频观看这里 | 韩国三级国产欧美 | 韩国精品福利一区二区 | 99这里只有精 | 日韩欧美在线观看 | 欧美秘书性爱在 | 国产精品毛多多水多 | 日韩欧美精品成人免费高清 | 国产稀缺另类刺激对白 | 免费人成在线观看视频播放 | 欧美在线观看精品免费 | 中文字幕亚洲中文字幕 | 国产一二| 欧美日本精品一区二区三区 | a级国产乱理论片在线观看看 | 欧美人妖aa1片 | 国产一区福利 | 欧美一区二区激情视频在线播放 | 日本综合欧美一区二区三区 | 国产精品日韩精品 | 很黄很色的免费视频在线观看 | 欧美精品a∨在线观看 | 7799天天综合| 国产欧美日韩精品视频一区二区 | 日本最大色倩网站www免费 | 日韩激情精品一区二区三区 | 亚洲小说欧美中文在线 | 久爱www免费人成播 国产精品午夜福利不卡视频 | 日本好好热 | 国产综合色在线精品 | 日韩v欧美精品 | 亚洲精品伊人 | 国产精品午夜自在在线精品 | 日韩在线精品观看视频 | 精品一区电影 | 欧美a级情欲片在线观看免费 | 国内精品自在自线视频在线观 | 成人午夜一区二区三区视频 | 国产精品亚洲不卡一区二区 | 偷拍一区 | 91国内视频在线观看 | 欧美毛多 | 国产玖玖玖九九精 | 中文字幕不卡在线观看 | 国产女明星专区视频在线播放 | 精品国产乱子伦一区二区三区 | 韩国三级 | 国产视频一区二区三区四区 | 色偷偷888| 日韩先锋影音中文字幕 | 中文在线欧美亚洲制服 | 国产一级婬片视 | 全网最新院线电影 | 国产偷窥2025在线观看 | 国产精品人妇一区二区三区 | 中文国产日韩欧美视频 | 国产宅男z资源网站 | 成年人影片免费看 | 国产免费专区 | 日韩精品视频在线观看免费 | 老司机软件合集 | 手机在线观看日韩电影大片 | 国产精品一级二级三级 | 好看的高清电影大全 | 成人免费区一区二区三区 | 日本高清在线天码一区播放 | 日本理伦年轻的妻子 | 日本一区二区三区不卡视频 | 欧美三根一起进三p | 日韩在线精品一区二区三区 | 国产午夜人做人免费视频 | 日本久一道中文一区二区 | 国产精品免费久 | 大色综合色综合资源站 | 亚洲精品国产suv一区 | 欧美视频专区一二在线观看 | 女同互添下身视频在线观看 | 国产微信高清小视频在线播放 | 亚洲国产精品特色大片观看完整版 | 精品国产第一页 | 激情视频小说在 | 精品国产午夜福利在线观看蜜月 | 秋霞人成在线观看免费视频 | 欧美亚洲国产另类在线观看 | 亚洲熟女色乱一区二区 | 91九色五十路亚洲伊人网青青草 | 日韩激情在线观看 | 日本免费在线观看视频 | 亚洲高清不卡 | 日本在线视频在线 | 又湿又紧又大又爽a视频国产 | 国产亚洲精品一二三区 | 精品成人 | 欧美日韩国产日韩 | 欧美综合自拍亚洲综合 | 观看美国 | 老司机精品一区在线视 | 8x8x精品一区二区 | 国产亚洲精品一区二区在线 | 日韩欧美中文宇幕无敌色 | 欧美中文字幕 | 国产91精品福利资源在线观看 | 欧美日韩欧| 亚州第一页欧 | 国产极品尤物va在线精品 | 大地资源高清在线视频播放 | 国产精品对白交换绿帽视频 | 国产精品亚洲а∨怡红院 | 亚洲日本国产乱码va在线观看 | 亚洲熟肉一区二区三区 | 亚洲国语中文字幕理论片 | 日韩亚洲欧美亚洲一区二区 | 天天夜夜欢性恔免费视频 | bt在线天堂中文最新版 | 欧美喷潮十大喷潮 | 在线免费观看视频a | 大色综合色综合网站 | 国产偷国产偷亚洲高清日韩 | 亚洲日本欧美日韩中文字幕 | 国产野外强奷系列在线 | 亚洲高清视频一区 | 日本高清在线精品 | 国产一区二区在线播放女友 | 国产伦理一区的二区三区四区 | 日韩午夜成人精品免费网 | 精品国产免费一区二区三区香蕉 | 亚洲色大成网站www永久网站 | 日韩免费一区 | 色综合欧美在线视频区 | 国产精品九九视频 | 国产精品视频全 | 国产精品老熟女露脸视频 | 午夜看片在线观 | 精品国产一区二区免费不卡 | 337人体做爰大胆视频 | 欧美亚洲色另类偷自拍 | 精品国产高清自在线看 | 国产高清在线a免费视频观看 | 欧欧美视频一区二 | 日本高清在线天码一区播放 | 精品尤物导航 | 日韩在线视看高清视频手机 | 国产小视频你懂 | 91精品国产免费青青碰在线 | 国产伦精品一区二区三区无广告 | 国产国产人免费人成 | 国产久爱青草视频在线观看 | 日韩精品欧美精品国产精品 | 日韩欧美在线国产一区二区 | 免费最新电视剧电影随心看 | 日韩视频欧美国产一区二区 | 视频在线观看免费 | 91精品啪在线观 | 中文字幕在线免费专区 | 国产一级aaaaa免费播放 | 国产一区二区三区精品尤物 | 亚洲国产精品隔壁老王 | 亚洲午夜福利院在线 | 香港午夜三级a三级高清观看 | 国产又黄又大又爽视频 | 处破痛哭a√18成年片免费 | 欧洲亚洲日本va中文字幕 | 国产激情一区二区三区在线hd | 韩日欧美 | 国产91最新欧美在线 | 国内国外一区二区三区 | 国产精品欧美久 | 综合图区亚洲 | 最近的中文字幕视频完整 | 九九九在左线观看 | 日本亚洲歐洲中文 | 午夜嘿嘿嘿在线观看 | 欧美综合亚洲 | 91精品国产自产高清在 | 国产综合精品一区二区 | 日本高清一区二区三区欧美 | 国产激情一区在线观 | 变态拳头交视频一区二区 | 美女免费精品 | 成人国产精品高清在线观看 | 国产精品高清一区二区三区人妖 | 中日韩va无| 美女爽到尿喷出来 | 对白刺激的老熟女露脸 | 免费人成再在线观看网站 | 国产精品亚洲玖玖玖在线 | 国产欧美日韩在线 | 欧美午夜激情影院 | 日本免费一级视频 | 国产精品天天在线看 | 精品撒尿视频一区二区三区 | 好吊妞国产欧美日韩免费观看 | 午夜亚洲福利在线老司机 | 97狠狠| 精品人伦一区二区三区 | 日韩国产一区二区三区在线 | a级国产乱理伦片在线观看al | 欧美乱伦国产精品 | 97人人超人人超国产免费 | 最近最新中文字幕在线第一页 | 国产中文制服丝袜另类 | 美女视频在线永久免费观看 | 国产精品免费一级高清 | 免费不卡影院 | 91精品成人 | 在线观看精品国产福利片87 | 强视频在线观看 | 国产情侣在视频 | 韩剧tv| 九九热在线视频观看这里只有精品 | 成人大黄全免费网站 | 欧美精品自拍偷拍 | 在线视频色一区二区三区四区 | 国色天香在线视频www | 亚洲精品分类在看在 | 日韩精品视频精品一区二区 | 亚洲v日韩v欧美高清在线观看 | 欧美日韩国产网曝台湾 | 精品国产一区二区三区香蕉欧美 | 亚洲性爱国 | 丰满的女房东在线观看6 | 国产一卡2卡3卡4卡网站免费 | 日韩中文字幕中文有码 | 国产凸凹视频一 | 免费国产黄线在线播放 | 国产在视频精 | 疯狂添女 | 国产激情在线视频 | 美腿丝袜在线播放 | 亚洲人成在线播放网站 | 国产青榴社区91精品 | 国产欧美大片一区 | 韩国理伦三级做爰观看玩物 | 国内一级 | 精品成人一区二区三区电影 | 国产欧美在线手机观看 | 麻花星空无限mv | 欧美性xxxx狂欢老少配 | 成年人色色免费电影 | 亚洲国产剧情中文视频在线 | 精品欧美一区二区三区四区 | 欧美一级日韩精品 | 日本伦理电影免费观看 | 国产定点盗摄女厕所合集 | 色色色色色色欧美日韩 | 九九re6热在线视频精品66 | 欧美a一级在线观看 | 水蜜桃国产在线观看免费视频 | 成人国产精品日本在 | 欧美伦费免费全部午夜最新 | 大地资源中文第二页高清 | 亚洲精品手机在线 | 中文字幕第38页永 | 银杏视频推广下载入口 | 日本最新高清不卡一区二区 | 国语自产视频在线 | 区三区国产高清视频 | 女同69| 在线观看福利影院 | 国产一级h片普通话在线观看 | 超高颜值国产啪 | 国产大片a免费在线手机观看 | 日本亚洲欧 | 成人免费观看做爰视频ⅹxx | 日本一本免费高清在线dvd | 亚汌国产| 亚洲人亚洲精品 | 秋霞伦理手机在线看片 | 国产喷水在线观看 | 国产91护士玉足脚交在线播放 | 亚洲一区二区在线免费观看 | 看国产黄| 日本三级视频在线观看 | 国产精品一区视频 | 性插爽视频欧 | 成人免费观看黄a大片夜月 日本亚洲欧美在线视 | 九九热视频在线播放 | 国产不卡一区二区免费视频 | 老子影院午夜伦不卡亚洲 | 成人做爰a | 国产午夜亚洲第一 | 乱伦91欧 | 精品人伦一区二区三区蜜桃 |