国产凹凸在线-国产拗女一区二区三区-国产白白视-国产白领-国产白拍-国产白丝jk被疯狂输-国产白丝喷-国产白丝在线

金喜正规买球

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

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

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

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

SQL Compare是一款比較和同步SQL Server數據庫結構的工具?,F有超過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@fc6vip.cn

文章轉載自:

為你推薦

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


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
国产精品中文久 | 欧美日韩精品一 | 激情深爱五月开心婷婷综合 | 全国男人的天堂亚洲 | 欧美精品狂躁 | 亚洲国产大片在线观看 | 国产高清在线不卡 | 日产精品bd在线观看 | 在线播放一区二区 | 97超级碰碰碰碰精品 | 精品一区二区三区在线视频 | 最新国产福利在线观看精品 | 一级特黄国产免费大片 | 老师喂我乳我脱她内裤 | 日本特黄大片正在播放 | 成全在线观看免费观看高清 | 国产一区二三区好的精华液 | 欧美亚洲日本国产黑白配 | 三极网站| 国产一区二区不卡免费 | 精品福利片在线观看 | 日本xxxx色 | 日本一线二线 | 国产视频在线免费观看 | 精品一区二区三区自拍图片区 | 欧美国产日韩精品 | 国女精品爽爽一区二区 | 在线观看精品国产免费 | 日本高清视频一区二区三区 | 亚洲曰韩精| 亚洲日本成本人观看 | 特黄特色的大片观看免费视 | 色哟哟精 | 另类专区亚洲97在线视频 | 中文在线免费视频 | 欧美精品v国产精品v日韩精 | 不卡国产精品欧 | 国产福利91精品一区二区三区 | 国产亚洲aⅴ在线观看不卡 国产免费a视频网站在线观看 | 欧美日本高清视频在线观看 | 精品乱伦一级二级三级 | 日韩激情视频在线 | 国产亚洲日韩欧美另类第八页 | 国产香蕉人在线播放视频网站 | 国产免费131美女 | 欧美日韩在线国产 | 私人影视网 | 欧美福利在线 | 国产欧美精品一区二区三区四 | 亚洲日本欧美日韩髙清观看 | 国产日韩欧美一区二区 | 免费国产在线精品二区 | 国产精品欧美亚洲韩国日本 | 综合欧美日 | 九三精品私密视频在线观看 | 日本高清不卡一区二区三区在线 | 蜜桃视频一 | 91部国产精品免费观看 | 最近中文字幕免费完整视频1 | hd护士18 | 狂野少女电视剧免费播放 | 高清一级做a爱过程不卡视频 | 亚洲欧洲国产视频 | 国产精品一区二区 | 国语自产精品视频在线看 | 另类欧美日韩精品一区二区在线 | 国产精品亚洲综合色区 | 欧美亚洲日韩国 | 手机免费安装推荐 | 久精品在线观看 | 国产v片成人影院在线观看 日韩欧美在线播放视频 | 视频一区二四三区四区 | 亚洲五月六月丁香激情综合 | 日本视频在线观看不卡高清免费 | 手机国产视频福利 | 国产九九自拍电影在线观看 | 国产午夜人做人免费视频 | 不卡在线播放国产 | 日韩成人一区三区 | 国产日韩综合精品一区二区三区 | 日本福利导航 | 欧美国产日韩一区二区三区 | 欧洲在线一区 | 国产老色批视频在线观看应用 | 影视大全电视剧在线播放 | 午夜国产高清精品一区免费 | 欧美一区二区不卡高 | 日本中文字幕免费 | 国产精品成人va在线 | 欧美日韩精品国产一区二区 | 欧美18videosex性极品 | 国产一区二区三区导航 | 亚洲欧美综合乱伦一区 | 国产亚洲视频在线观看 | 韩国三级a视频在线观看 | 日本免费一级二级三 | 91大神电影免费观看 | 蜜桃豆www久| 国产玖玖玖玖精品电影 | 国产一区二区色婬影院 | 欧美激情视频在线播放全球共享 | 亚洲婷婷综合网 | 香蕉影院中文字幕视频在线观看 | 有码69xx片超频在线97视 | 99精品国产自产在线观看 | 日韩一区二区三区免费看 | 日韩欧美中文字幕综合色 | 92福利国产三区视频 | 国产在线视频欧美亚综合 | 亚洲欧美中文字幕在线一区 | 日韩电影手机在线观看 | 夫妻之间免费观看完整版 | 国产精品白拍一区 | 91最新精品视频在线 | 国产精品美女一区二区视频 | 最近在线观看免费完整版高清电影 | 亚洲精品分类在看在 | 卡通欧美制服中文 | 五月丁香婷婷综合影院 | 99精品国自产在线观看 | 欧美日韩中文字幕第一页 | 国产一区二区色淫影院 | 国产精品不卡 | 爱草草视频97人人干人人 | 韩国大片 | 免费午夜伦费影视在线观看 | 国产精品一卡二卡3卡四卡网站 | 国产强奷在线播放免费不卡 | 国产亚洲成在线播放va | 国产精品视频二区在 | 日韩专区欧美 | 日韩不卡高清中文字幕 | 日本亚洲黑人在线播放 | 欧美区一区二区三区四 | 日本视频中文字幕一区二区 | 国产福利一区二区在线精品 | 午夜成人激情视频 | 国产成a人片在线观看视频下载 | 亚洲高清国产拍 | 国产美女淫秽一区二区三区 | 国产欧美日韩精品不卡在线观看 | 男人猛进猛出女人屁股视频 | 羞羞网站在线观看 | 国产精品自拍91 | 神马午夜电影网手机在线播 | 国产美女91 | 果冻传媒mv国产推荐视频 | 亚洲影院| 国产a级又黄又硬又湿刺激软件 | 91精品国产自 | 糖心精产国品免 | 国产免费三a在线 | 大伊香蕉精品一区视频在线 | 日韩中文字幕在线第一页 | 韩国成人精品久 | 国产精品高颜值极品美女 | 日本一区二区在线不卡 | 蜜桃视频高清免费 | 免费国产高清在线精品一区 | 日本a级精品一区二区三区 草102 | 国产免费v片在线观看不卡 亚洲综合精品第一页 | 欧美一区二区三区免费观看视频 | 欧美va在线观看 | 99热这里只有精品6 国产三香港三韩国三级不卡 | 欧美精品黄页在线观看2区 日韩美中文字幕一二三区 国产精品nv在线观看 | 国产精品自产拍在线观看花钱看 | 国产91精品高跟丝袜在线 | 精品深夜| 国产91区精品福利在线社区 | 国产在线脚交免费网站脚丫 | 日韩精品电影亚洲一区 | 伦理片在线伦理片观看 | 成人亚洲在线观看 | 欧美精品视频手机在线视频 | 亚洲黄免费看网站国产福利一区二 | 国产精品视频色怕怕 | 日韩一区二区免费看 | 五月综合激情中文字幕版 | 日韩欧美中文字幕在线播放 | 精品卡一卡二卡3卡高清乱码 | 欧美日韩综合免费视频 | 最新国产精品精品视频 | 日韩欧美另类视频在线观看 | 免费精品三级乱伦 | 成人看免费一级毛 | 国产日韩免 | 日本一本二本在线观看 | 日本黄页免费大片在线观看 | 亚洲精品影视亚州色区 | 欧美在线色 | 免费高清电影在线观看 | 91秒拍国产福利 | 日本三级一区 | 国产精品自产拍在线观看 | 日本性xxx | 国产免费人成视频在线观看播放 | 欧美日韩国产中文高清视 | 日本一卡2卡三卡4卡网站 | 亚洲成a人片在线观看一级 国产精品一卡2 | 欧美午夜理伦三级在 | 国产在线直播一区二区 | 国产高清免费在线 | 国产超级乱婬视频免费 | 午夜成人爽爽爽视频在线观看免费 | 男人j进女人 | 国产精品jizz在线观看老狼 | 国产精品视频每日更新播放 | 亚洲成在人线影视天堂网 | 欧美激情欧美狂野欧美精品免费 | 国产在线一区二区三区视频 | 中文字幕日韩精品一 | 日韩亚洲欧美综合 | 精品一卡二卡三卡四卡2 | 国产v亚洲v天堂 | 全黄裸片一29分钟免费真人版 | 日韩精品电影亚洲一区 | 日本高清www午色夜在线网站 | 国产乱伦精品 | 欧美日韩一区在线观看 | 日本亚洲国产在线视频 | 欧美综合视频在线观看 | 国产原创 | 欧美日韩人人精品影视 | 国产亚洲精品成人a在线 | 日本一区二区三区免费播放 | 精品视频第二区第二页 | 日本中文字幕人成中文字幕 | 日韩女同性恋二区三区在线视 | 中文字幕在线看日本大片 | 日本aⅴ精品一区二区三区日 | 欧美日韩性视频 | 精品影片在线观看的网站 | 2区91视频| 日韩成人高清在线免费 | 97碰公| 亚洲v高清一区二区三区尤物 | 韩日午夜 | 久青草国产在线视频高清正片 | 专区在线观看 | 国产精品自产拍在线观看 | 视频在线播放在线观看 | 亚洲japanese | 亚洲高清在线看 | 亚洲欧美自偷自拍另类视 | 十九岁中国电影在线观看免费 | 蜜桃视频在线观看免费播放 | 一区二三区小说 | 久色91| 国产又黄又爽胸又大免费视频 | 欧美日韩国语aⅴ视频网站 97国产精品系列在线观看 | 亚洲成熟女人毛毛耸耸多 | 国产精品日韩在线观看一区二区 | 日韩在线视频不卡一区二区三 | 国产中国三级在线视频 | 日本一区二区高清无卡码 | 欧美日韩国产综合一区二区三区 | 91精品手 | 日韩欧美中文字幕一区 | 国产午夜爽爽窝窝在线观看 | 国产亚洲精品hd网站 | 成人免费观看 | 国产国产人免费人成成免视频 | 99久热海外精品视频 | 性色aⅴ按摩精品在线 | 亚洲精品自拍视频在线免费 | 美女国产毛 | 蜜臀精品国产高清在线观看 | 国产日本亚洲一 | 成人性欧美 | 精品国产插穴精品网站日本 | 日本亚洲综合在线 | 精品人伦一区二区三区蜜桃黑人 | 性欧美极品xxxx欧美 | 日韩欧美精品最新 | 97电影理论片在线观看 | 中文字幕国产第1页直播在线 | 精品国偷自产在线视频99 | 日韩精品视频美在线精品视频 | 精品欧美国产一区二区三区不卡 | 凄辱护士日本电影免费看 | 国产性爱专区在线 | 曰韩精品| 男人的天堂精品国产一区 | 中文日产幕无线码系列 | 国产乱理论在线观看 | 亚洲中文精品视频在线 | 国产影视亚洲精品手机版 | 国产探极品在线观看观看 | 国产在线一区二区在线视频 | 亚洲日韩一区二区三区四区高清 | 伊伊人成亚洲综合人网7777 | 视频一区二四三区四区 | 国产精品亚洲玖玖玖在线靠爱 | 伦理影院在线观看 | 欧美特黄高清免费观 | 91社区国产在线播放 | 日韩欧美在线综合网高清 | 日韩在线视频播放一区二区三区 | 国产高清看片日韩 | 91蝌蚪网 | 国产精品酒店在线 | 亚洲精品区m| 在线观看中文字幕码 | 中文字幕与 | 性xxxx欧美老妇胖老太性多毛 | 国产亚洲一区 | 欧美日韩免费一区二区在线 | 国产v片在线播 | 亚洲精品分类在看在 | 偷自拍亚洲视频在线观看99 | 国产综合精品国 | 国产综合视频在线观看8 | 亚洲成国产人片在线观看 | 午夜成人精品视频观看 | 欧美黑人ⅹxxx猛交 亚洲人成网站77777免费 | 麻花传md0174苏蜜清歌 | 日本人浓密bbw | 国产精品青| 国产偷亚洲偷 | 国产白丝jk学生在线播放 | 欧美不卡视频一区发布 | 国产精品免费视频一区二区三 | 日韩欧美中文字幕在线播放 | 国产精品乱码高清在线观看 | 福利电影大全 | 国产一区二区三区美女图片 | 欧美亚欧日韩 | 国产小视频在线高清播放 | 欧美伦理一区二区三区 | 日韩电影手机在线观看 | 欧美综合乱码一区二区三区 | 亚洲2025天天堂在线观看 | 国产精品专区第5页 | 国产亚洲精品影视在线产品 | 最近日本韩国观看 | 日韩精品一区二区三区99 | 日韩幕无线码一区中文 | 欧美日韩国产高清精卡 | 野花精品 | 成人三级视频在线观看不卡 | 蜜桃视频免费 | 1卡二卡3卡四卡乱码视频 | 国产卡一卡二卡三卡四卡免费 | 区三区影院动漫 | 欧美亚洲综合成人专区 | 午夜影视 | 大伊香蕉在线精品视频75 | 日韩在线视频不卡一区二区三区 | 国产精品偷伦视频免 | 欧美一本大道香蕉综合视频 | 国产舌乚八伦偷品w | 国产真实乱xxxⅹ视频 | 国产精品亚洲美女 | 欧美日韩第一页 | 欧美精品偷自拍另类在线观看 | 欧美无砖专区一中文字幕 | 日本人做爰 | 国产日产免费高清欧美一区 | 亚洲国产精品尤物yw在线观看 | 国产精品毛毛在线播放 | 韩国中文全部三级伦在线观看中文 | 高清欧美性猛交xxxx黑人猛交 | 成人亚洲中文字幕在线精品 | 欧美日韩国产另类不卡在线 | 精品国产福利片在线观看 | a欧美日韩高清在线播放不卡 | 欧美一级大 | 国产美腿91肉丝袜在线播放 | 91国内视频在线 | 激情五月天色五月 | 国产精品高清一区二区三区 | 91精品酒店情 | 国产日本欧美亚洲日韩 | 国产91精品对自露脸全集观看 | 免费国产高清视频 | 中文字幕一区二区三区免费视 | 欧美综合自拍亚洲综合网 | 在线不卡 | 福利资源在线导航网址 | 国产女人喷潮在线观看视频一 | 国产老熟女精 | 女日韩优在线 | 蜜桃传媒视频 | 久热国产在线一区二区v | 欧美日韩乱伦视频图片 | 日产国产精 | 日韩欧美网站 | 亚州第一页欧 | 日韩激情一卡二卡三卡免费观看 | 99热6这里只有精品 欧美亚洲国产激情一区二区 | 欧美日韩国产综合在线小说 | 无人视频在线观看 | 成人性生交大片免费看好 | 日韩精品一区二区三区四区五区 | 国产美女爽到喷出水来视频 | 国产人成在线观 | 国产福利不卡视频 | 97精品国产自在现线免费 | 国产盗摄偷窥在线观看 | 午夜性色一区二区三区不卡视 | 国产精品国产自线拍免费软件 | 欧美日韩精品在线二区 | 日产无人区一线二线三线新版 | 欧美与黑人午夜性猛交 | 又大又粗又硬又爽 | 欧美日韩精品免费观看视频 | 日韩精品一线二线三线优势 | 成人偷窥自拍视频在 | 成人观看网站a | 国产午夜视频在线 | 伊人开心激情网第一区 | 黄动漫在 | 海量男任懂的午夜影视www | a视频乱 | 91尤物视频在 | 韩国三级视频网站 | 天美麻花果冻视频大全 | 欧美va亚洲va在线观看 | 国产成年人精品一区二区 | 碰夜夜澡日日澡 | 欧美一区日韩二区国产三区在线 | 在线观看中文字幕2025 | 亚洲精品久荜中文字幕 | 92午夜福利影院一区二区三 | 成人国产免 | 精品乱码一区二区三区四区 | 精品国产一区二区三区免费91 | 911国产| 国产精品高清偷窥盗摄 | 免费人成网站在线观看欧美 | 国产视频一区在线 | 国产人妖视频一区在线观看 | 51xx影视午夜福利 | 日韩伦理亚洲欧美在线 | 绝色影视在线观看免费版电视剧 | 91精品成人| 亚洲综合色一区二区三区另类 | 中文字幕精品乱码亚洲一区 | 91福利国产在线人成观看 | 国产高清在线免费观看 | 99在线| 午夜免费啪视频观看视频 | 97在线精品国自产拍中文 | aa级国产| 国产综合色在线视频播放线视 | 国产精品一区成人精品网站 | 国语对白刺激精品视频 | 777奇米四色成人影视色区 | 日本喷奶水中文字幕视频 | 国产专区一区 | 精品日产卡一卡二卡三入口 | 国产91免费不| 亚洲经典日韩欧美国产一区 | 91视频黄版app | 国产韩日欧美在线 | 国产日产中文在线观看 | 一本大道之中文日本香蕉 | 国产欧美日韩精品丝袜高跟鞋 | 国产精品爽爽va在线 | 国产自在现偷国产精品国产日韩 | 4日本国产vps私人大片 | 欧美色五月婷婷黑人 | 国产一级一级农村人一片 | 日韩a人| 国产丰满 | 手机看片福利 | 亚洲中文字幕va福利 | 欧美日韩亚洲中文综合视频 | 亚洲中文字幕一二三四区 | 欧美国产日产韩国视频 | 九九热视频免费在线观看 | 人成午夜视频在线观看 | 日韩精品一区二区三区观看 | 国产精品一区在线免费观看 | 午夜网站在线观看www | 国产门事件真实视频在线 | 国产激情精品一 | 欧美日韩精品一区二区免费高清 | 精品免费在线 | 精品一区二区三区四区激情 | 梦乃爱华作品在线观看播放 | 欧洲有码中文字幕在线 | 中文字幕精品乱码亚洲一区 | 国产xxxx视频在线观看| 亚洲色妇网站 | 国内精品无 | 丰满的继牳3中文字幕系列 卡通欧美制服中文 | 人人干美女 | 国产一区二区三区丝袜精品 | 亚洲在在线观看免费视频 | 日产亚洲一卡2卡3卡4卡网站 | 91欧美日韩91桃色在线观看 | 好吊色永久免费视频在线观看 | 九九在线观看视 | 国产一区精品在线91 | 日产中文字幕在线精品一区 | 日韩、欧美、中文三级 | 欧美日韩另类在线 | 国产va小视频在线观看 | 日本有码中文字幕第一页在线播 | 国产青草视频在线观看 | 免费中文字幕不卡 | 国产精品性爱不卡在线观看 | 国产精品视频顷一区 | 99国产精品无打码在线播放 | 国产欧美视频日韩 | 国产精品福利在线播放 | 欧美日本到一区二区三区 | 农村妇女偷汉视频过程 | 亚洲人成电影网站色 | 中文字幕日韩专区 | 日本大片在线 | 福利微拍一区二区 | 日韩电影网 | 国产1区在线 | 国产精品最新免费视频 | 亚洲综合电影小说图片区 | 欧美草逼网站 | 日韩一二三区视频精品 | 一级特黄国产免费大片 | 国产精品你 | 国产淫秽性爱视频在线 | 日本中文字幕乱码 | 欧美人与 | 男女性爱视频的完整版 | 亚洲精品中文字幕码专区 | 日韩欧美一区二区三区精品 | 国产乱人 | 韩国三级大全中文字幕网址 | 亚洲欧美另类在线观看一区二区 | 国产无人区一码二码 | 亚洲国产欧美在线观看片不卡 | 又湿又紧又大又爽a视频国产 | 欧美日韩在线播放成人 | 欧美激情视频区一区二区在线观看 | 国产精品国产自线在线观看 | 亚洲japanese | 99热6这里只有精品 欧美亚洲国产激情一区二区 | 欧美日韩在线视频观看 | 日本xxxx18视频在线观看 | 91不卡在线 | 99re66在线观看精品免费 | 国产成网站18 | 亚洲国产精品自在现线让你爽 | 黄工厂精品视频在线观看 | 国产精品午夜爽爽爽免费 | 精品亚洲一区二区三区在线播放 | 国内精品自产拍在线观看 | 日韩激情精品一区二区三区 | 永久入口 | 亚洲欧美中文字幕在线播放 | 天美传媒果冻传媒国产日本 | 日本中文字幕在线观看 | 国产伦精品一区三区视 | 日本色免费一区二区 | 国产香港日 | 国产在线精品手机播放 | 国产午夜福利在线永久视频 | 亚洲二区在线观看 | 日韩欧美一区二区三 | 国产欧美日韩精品丝袜高跟鞋 | 国产精品日韩在线观看一区二区 | 欧美日韩精品中文字幕 | 国产嘿嘿嘿视频在线观看 | 国产小视频你懂 | 国产真实自在自线免费精品 | 国产国语对 | 欧美精品成人三级在线观看 | 日本亚洲最大的色成网站www | 国产精品乱码高清在线观看 | 国产无人区 | 国产白领诱惑在线观看 | 国产精品亚洲第一区在线观 | 国产日韩欧美综合网站 | 囯产精品一区二区三区乱码 | 国产精品福利免费在线 | 国产精品综合日韩精品第一页 | 日本免费观看高清h片 | 欧美精 | 日产国产一区二区 | 国产在线一区二区三区不卡 | 国产午夜伦伦午夜伦 | 国产大片全黄在 | 玖玖资源中文字幕一区二 | 国产不卡 | 国产后入清 | 国产的中文字幕在线观看 | 国产又粗又猛又大爽视频 | 一区二区区别是什么 | 手机大看福利永久国产 | 亚洲欧美日韩另类 | 菠萝菠萝蜜视频在线观看免 | 国产一区二区在线播放女友 | 国产高清视频在线免费观看 | 日日插人人插天天插 | 九九热在线视频观看这里只有精品 | 中文字幕在线观看国产 | 无人影院手机版在线观看免费 | 精品三级影视亚洲 | 青草青草久热精品视频在线观看 | 日韩欧美一级 | 91不卡在 | 国产卡戴珊在线根本喂不饱2 | 日韩男女做性高清在 | 日韩国产精品中文 | 福利第二页精品推荐在线观看 | 日韩不卡免 | 国产在线视频二区不卡视频免费 | 在线视频韩国 | 亚洲精品色吧88 | 成人日韩欧美在线影院 | 欧美日韩中文字幕视频 | 欭美日韩颜射在线 | 精品国内自产拍在线观看 | 国产一级淫片免费播放 | 盗摄国产女厕hd | 日本一级淫片a免费播放口 精品撒尿视频一区二区三区 | 国产伦精品一区二区 | 欧美自拍偷拍一区二区 | 成人精品动漫一区二区三区 | 午夜福利成人污在线观看 | 亚洲精品乱 | 国产初高中系列视频在线 | 国产视频综合网 | 免费亚洲人a成影院 | 国产高清不卡 | 成人免费一区二区三区 | 日韩欧美亚洲中文字幕一区二区 | 国产不卡一区二区三区 | 成人欧美一区二区三区的电影 | 欧美地区一二三区 | 日韩欧美一卡二区 | 动画片大全大人动漫在线观看 | 精品亚洲a∨ | 91老司机精品福利在线 | 91免费版安装 | 青青草97国产精品免费观看 | 在线视频下载 | 国产一区视频在线观看免费 | 国产精品猎奇另类视频 | 国产高清中文字幕 | 亚洲手机 | 日韩精品另类天天更新影院 | 无色码中文字幕亚洲精品 | 高清欧美日韩 | 国产拍揄自揄免费观看 | 好吊妞国产欧美日韩免费观 | 日韩中文字幕34页视频 | 国产午夜视频在线 | 激情视频一区二区三 | 福利看片 | 国产鲁鲁视频在线观看 | 国产欧美日韩国中文字幕高清在线 | 精品国产免费第一区二区 | 国产免费高清永久在线不卡 | 日韩高清在线高清免费 | 免费高清在线观看人数多少 | 欧美性在线观看 | 录音电话 | 精品免费中文乱伦 | 国产一区二区三区精品在线 | 欧美性xxxxx极品娇小 | 精品国产福利一区二区在线 | 欧性猛交 | 欧美精品老牛影 | 国产欧美三级亚洲 | 蜜臀āv午夜在线 | 欧美黑人 | 亚洲一区二区三区高清在线播放 | 国产欧美日韩亚洲中文高 | 白拍国产永久免费视频 | 天堂va视频一区二区 | 欧美日韩国产五月天 | 欧美bbbb性视频 | 国产欧美日本综合在线 | 国产欧美日韩一区在线观看 | 日韩欧美永久中文 | 自拍偷在线精品自拍偷免费 | 欧美高清中文字幕综合网 | 国产在线日韩一区精品 | 好吊色在线视频 | 热播电视剧电影高清免费在线观看 | 日韩国产一区二区中文字幕 | 日韩成熟熟女精品 | 欧美精品免费在线观看 | 野花社区 | 日本连裤袜xxxxx在线视频 | 日韩欧美不卡在线高清视频 | 免费人成| 日韩国产不卡在 | 一区二区三区四区在线播放视频 | 欧美日韩视频网站 | 天美传媒、91制片厂、天美传媒 | 午夜国产在线一区二区三区 | 欧美日韩国产无线码无毒 | 午夜亭亭 | 730099带你另眼看世界 | 国产欧美精品一区二区三区四区 | 国产在线观看福利一区二区 | 亚欧人成 | 欧美一区二区自偷自拍视频 | 在线精品国产一区二区三区 | 欧美va免费高清在线观看 | 午夜性爽一区二区三区 | 碰免费公开视频97 | 精品免费国产影视 | 日本精品大乳一区 | 日韩极品成年人在线观看高清 | 午夜福利不卡片在线播放免费 | 国产日韩精品一区二区在线观看 | 亚洲日本影院在线 | 国产美女自卫慰视频福利 | 国产在线精品免费一区二区三区 | 国产传媒精品1区2区3区 | 中文字幕精品亚洲无线码二 | 区二区免费网站 | 国产久9视频在线观看 | 欧美xx| 中国毛茸茸bbxx | 成人午夜网站在线观看视频 | 亚洲人护士毛茸茸 | 免费国产网站在线观看不卡 | 国产舌乚八伦偷 | 日本亚洲视频在线不卡免费 | 欧美视频网站 | 国产盗摄电影区9876色 | 精品欧美极品视频在线播放 | 欧美日韩综合不卡在线观看 | 狠狠狠狼鲁欧美综合网免费 | 免费h黄动漫在线观看 | 亚洲成a人片在线观看 | 羞羞影院午夜男女爽爽视频免费 | 免费人成激情视频在线观看冫 | 国产在线直播免费观看 | 最新国产精品拍自在线播放 | 一级中文在线播放 | 欧美又粗又大一区二区 | 日韩一区二区三区电影成人 | 最新国产精品 | 亚洲国产精品sss在 日韩欧美国产精品91 | 欧美日韩在线免费播放一二三区 | 国产在线观看免费永久 | 中文字幕一区二区三区精品 | 国产在线不卡免费高清dvd | 日本中文一区二 | 精品一区二区五 | 色欧美片视频在线观看 | 一个人看的www视频免 | 大香伊蕉人 | 97色伦欧美日韩视频 | 国产精品电影在线观看 | 欧美人与 | 中文字幕日韩高清 | 精品一区二区免费vr | 成人怡红院视频在线观看 | 国产精品专区第一页在线观看 | 国产中文在 | 国产午夜在线精品 | 99爱国产精品免费高清在线观看 | 亚洲欧洲另类春色 | 九九九在线视频 | 成全免费 | 日本亚欧在线观看 | 亚洲人成电影网站国产精品 | 猛进猛出 | 国产一区二区三区免费在线观看 | 亚洲精品国产福利 | 国产午夜伦伦午夜伦 | 日本三级带日本三级带黄首页 | 91草莓视频在线观看 | 91大神千人斩 | 亚洲免费人成 | 国产精品网站永久免费99 | 国产日韩一区二区三区高清 | 国产精品爽片在线观看 | 欧美与黑人午夜性 | 欧美日韩国产一二三区激情在线 | 中国三级网站 | 国产成网站18 | 日本中文字幕电影 | 青青草自产拍国产精品 | 女性一级全黄生活片在线播放 | 国产放荡对白视频在线观看 | 亚洲国产精品yw在线观看 | 欧美性色黄大片在线观看 | 成人高清 | 一边亲着一面膜下奶53分钟 | 国产一级婬片a视频免费观看 | 日本成片免费观看视频在线 | 91香蕉成人免费网站 | 成人午夜视频一区二区国语 | 国产乱码高清区二区三区 | 亚洲第一免费视频 | 亚洲综合狠狠99婷婷 | 国产亚洲精品无 | 在线免费观看污网站 | 日韩午夜激情在线观看 | 9cao在线精品| 日韩精品视频在线观看免费 |