Sql-Server
ODBC 驅動程序跟踪未擷取任何日誌解析器事件
我已經使用這些方向啟用了驅動程序跟踪。我正在執行 SQL Server 2014,它使用 2012 本機驅動程序。
我執行啟動批處理文件,然後執行以下 LogParser 命令:
“c:\Program Files (x86)\Log Parser 2.2\LogParser.exe” “SELECT SUBSTR(Field1, 0, 2) AS CountryCode, SUBSTR(TO_STRING(Field2), 0, 5) AS Zip INTO ZipCodes FROM ‘c: \Users\jdearing\Downloads\us.txt’” -i:TSV -headerrow:OFF -o:SQL -server 。-database LogParserTest -cleartable -transactionRowCount:0 -ignoreMinWarns:OFF
這將插入零行。而是為每一行產生此錯誤:
An error occurred while uploading data to SQL table SQL State: 22001 Native Error: 0 Error Message: [Microsoft][ODBC SQL Server Driver]String data, right truncation
停止跟踪後,etl 為 1024k,但根據此 logparser 查詢沒有行:
“c:\Program Files (x86)\Log Parser 2.2\LogParser.exe” “SELECT * FROM ‘SnacTrace_000001.etl’” -i:ETW
我注意到 providers.txt 批處理文件中的 GUIDS 和
logman query providers | findstr SQL
echo {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI > providers.txt echo {A9377239-477A-DD22-6E21-75912A95FD08} 0xFFFFFFFF 128 SQLNCLI10 >> providers.txt echo {2DA81B52-908E-7DB6-EF81-76856BB47C4F} 0xFFFFFFFF 128 SQLNCLI11 >> providers.txt
相對
SQLNCLI.1 {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} SQLSERVER.09 {AB6D5EEB-0132-74AB-C5F5-B23E1644DADA} SQLSERVER.10 {48D59D84-105B-00FA-6B49-03462F696737} SQLSERVER.11 {B2A28C42-A7C2-1563-97CC-3BE49FDA19F9}
所以我將批處理文件更新為:
echo {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI > providers.txt echo {48D59D84-105B-00FA-6B49-03462F696737} 0xFFFFFFFF 128 SQLNCLI10 >> providers.txt echo {B2A28C42-A7C2-1563-97CC-3BE49FDA19F9} 0xFFFFFFFF 128 SQLNCLI11 >> providers.txt
仍然沒有運氣。我還能嘗試什麼?logparser 不使用本機客戶端嗎?
我已經獲得了要顯示在 ETL 中的數據。我做的兩件事如下:
- 我不得不修改批處理文件以設置 32 位 BitInterface Loader:
HKLM\software\Wow6432Node\Microsoft\BidInterface\Loader
- 我修改了providers.txt如下: {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI {A9377239-477A-DD22-6E21-75912A95FD08} 0xFFFFFFFF 128 SQLNCLI10.1 {2DA81B52-908E-BBDB46-CF42-908E-BBDB46-EF81}-768E-BBDB4 0xFFFFFFFF 128 SQLNCLI11.1
嘗試明確指定
-driver
選項,提供本機客戶端的名稱。