使用Change Tracking實現資料同步

 在日常應用中經常會有這樣的需求,需要Audit那些資料更改,或者需要跟蹤更改的資料實現對資料的同步。(最常見的應用如資料倉儲資料同步,因為資料量巨大,需要將資料的更改同步到資料倉儲,這種同步不要求即時)。通常的做法是自訂應用程式使用比如觸發器、timestamp 列和新表組合來儲存跟蹤資訊,同事還需要自訂清除程式清除過時的資料。在SQLServer 2008以後提供了一個功能變更追蹤(Change

使用檔案和檔案組備份可以恢複表資料嗎?

 以前有人問過我SQL Server backup命令是不是支援單表備份,SQL Server是沒有Backup

Schema Changes History資料從哪裡來?

SQL Server提供了Schema Changes History report可以用來追蹤DDL相關資訊。 但是Schema Changes History report的資料是從哪裡來的呢? 首先我啟動SQL Profiler trace然後開啟Schema Changes History report(Management studio->Report->Standard report->Schema Changes History

一條語句將欄位中的多個空格變成一個空格

這裡先產生一些測試資料,前後中間都有多個空格: DECLARE @test TABLE(stringVARCHAR(8000)) INSERT INTO @test(string) SELECT N'  做   個  測試 'UNIONALL  SELECT  N' OK   '

使用XML Schema驗證XML資料輸入

現在XML使用的越來越多,在SQL Server表中我們可以建立XML列儲存資料。 昨天在論壇看到有人說建立了一個預存程序處理XML,但是插入目標表的時候報錯,而報的錯誤不詳細。 其實這個問題的根本原因是XML的資料有問題,應該在插入的時候對輸入的資料進行驗證(對於使用者輸入的資料一定要做驗證)。 其實SQL Server已經提供了XML Schema驗證,下面我們看一個例子: --建立XML Schema CollationCREATE XML SCHEMA COLLECTION

替換Cursors和While Loops

一般在處理迴圈問題的時候,大家都會選擇Cursor,因為使用起來非常方便,代碼也很好實現,但是使用Cursor肯能會產生效能問題。那麼有什麼好的替代方法嗎?從網上看到的一篇文章很有借鑒意義(ReplacingCursors and While Loops),改寫Cursor效能提高了幾倍. 所以我們在設計代碼的時候可以多考慮考慮是否不用Cursor也可以實現。

Error: 17172, Severity: 16 SNIInitialize() failed with error 0×2.

為了安裝SCCM 2012,今天將測試資料庫升級到SQL Server 2008 SP3 + CU4, 但是改為連接埠後發現Servcie無法啟動。 從SQL Server errorlog中看到下面的錯誤資訊: Error: 17172, Severity: 16, State: 1.SNIInitialize() failed with error 0x2.SQL Server Audit failed to record the SERVER SHUTDOWN

Transaction log impact of active transactions

SELECT DTST.[session_id], DES.[login_name]AS[Login Name], DB_NAME(DTDT.database_id)AS [Database], DTDT.[database_transaction_begin_time]AS [Begin Time], --DATEDIFF(ms,DTDT.[database_transaction_begin_time], GETDATE()) AS [Durationms], CASE

使用Filtered Indexes提高查詢效能

通常我們會遇到這樣的情況,一張表中包含上百萬條的資料,但是每次我們只查詢一小部分的資料。 比如一列只有少部分NULL值,每次我們都需要將Null值找出來進行處理。或者我們有狀態標誌位,需要取Flag對資料處理。 由於資料大部分是重複的,所以對於整個列做索引代價是非常大的,而且對查詢效能提升可能不大。 慶幸的是微軟提供了Filtered index。Filtered

小技巧 SQL execution loop

我們做測試的時候通常需要連續執行很多條相同的語句,我以前一直是通過While迴圈去做的,但是有一個更簡單的辦法,只需要用Go就可以實現了。  代碼如下: use DBA gocreate table test(namevarchar(10))on [group]goinsert into testvalues ('allen')go 1000   顯示結果:Beginning execution loop(1 row(s) affected)(1 row(s) affected)(1

SSIS Preview Excel資料顯示NULL解決辦法

最近在做Excel的解析,因為Excel都不標準,所以解析的時候出現了好多問題。其中一個問題是Excel資料有值,但是Preview的資料都為NULL。 原因是我的Excel資料出現在第9列,而Excel獲得資料類型預設會掃描前8行。這可通過向連接字串添加可選的MaxScanRows=設定,或在 DSN 配置對話方塊中更改要掃描的行數設定來完成。但是,由於 ODBC驅動程式中存在一個錯誤,所以目前指定“要掃描的行數”(MaxScanRows)設定不起作用。換句話說,Excel ODBC驅動程式(

利用Flashback輕鬆找回誤刪除資料

測試:1.首先建立一張表TESTcreate table test (name int)2.插入兩條資料:insert into test values (1);insert into test values (1);3.對錶啟動移動行ALTERTABLE table ENABLE ROW MOVEMENT;4.刪除表:drop table test5.在資源回收筒查詢表:SHOWRECYCLEBIN;或者SELECTobject_name AS recycle_name,

Cognos 對於細粒度許可權控制的解決辦法

對於一些敏感性資料對於許可權的控制是要求很嚴格的,不同層級或者不同部門的員工一張報表看到的資料是完全不一樣的。在Cognos中可以在Frankwork,Transfomer或者Report中對這些資料進行控制。 下面的例子是講解了在Report中根據訪問者賬戶許可權資料進行控制,非常的方便。  比如,在員工人數按照部門分布報表中,我們希望限制每個經理只能看到彙報給他的員工人數,而不希望他看到其他經理下的員工人數。完成資料層級的訪問安全性設定,我們需要以下兩個步驟: 步驟 1.

SubQuery or Join?

很多開發都喜歡用Subquery而不喜歡用Join,對於他們來講Subquery更容易實現。但是很多情況下用Join效能要比用Subquery好。 首先我們看一下Subquery: 子查詢也稱為內部查詢或內部選擇,而包含子查詢的語句也稱為外部查詢或外部選擇。許多包含子查詢的Transact-SQL語句都可以改用聯結表示。其他問題只能通過子查詢提出。在 Transact-SQL

你關注過Linked Server OLE DB選項嗎?

曾經遇到過一個由於第三方的OLE DB建立的Linked Server 導致SQL Server Crash的案例,最後的解決辦法是修改OLE DB Provider選項“Allow inprocess”。所以解決Linked Server的某些問題還是要知道這些選項的含義。這裡我將這些選項以及解釋列出來,希望能夠對大家有所協助: Provider optionDescriptionDynamicParametersIf nonzero, indicates that the provider

Msg 3059 This BACKUP or RESTORE command is not supported on a database mirror or secondary replica

配置好 2012 AlwaysOn High availability Group就想體驗一下在次要資料庫做備份的新功能。在次要伺服器備份,這樣可以減輕主伺服器的負載(非常好的一項改進,以前Databasemirroring次要資料庫是不可以訪問的)。  但是備份的時候卻報錯: Backup databasetesttodisk='c:\test.bak' Msg 3059, Level 16, State 1, Line 2This BACKUP or RESTORE command is

IIS7 Request format is unrecognized.

早上同事在安裝程式的時候一直報錯讓我幫忙查一下原因,最後發現是一個網站無法開啟。錯誤判錯如下: 錯誤1:The Web server is configured to not list the contents of thisdirectory. 解決辦法:開啟IIS控制台兵器啟用Directory browsing  錯誤2:Request format is unrecognized. 解決辦法: 找到Web.config檔案,增加下面的資訊: <configuration>

Index and length must refer to a location within the string. Parameter name: length (mscorlib)

今天使用SSIS製作一個提取Excel的小程式,在Preview Excel資料的時候出現下面的錯誤: There was an error displayingthe preview.ADDITIONAL INFORMATION:Index and length must refer toa location within the string.Parameter name: length (mscorlib)   這個錯誤的原因是Excel Sheet的命名有問題,解決辦法是修改Excel

查詢當前資料庫IO等待狀況語句

sys.dm_io_pending_io_requests可以返回當前IO Pending的狀態,對於SQL Server 中每個掛起的I/O 請求,返回與其對應的一行,跟sys.dm_io_virtual_file_stats配合可以看到具體是哪個資料庫IO出現問題。 select DB_NAME(database_id)as DBNAME,       database_id,       file_id,       io_stall,       io_pending_ms_ticks,

Msg 15138 The database principal owns a schema in the database, and cannot be dropped.

刪除使用者報錯: Msg 15138, Level16, State 1, Line 1The database principal owns a schemain the database, and cannot be dropped. 解決辦法(SSMS): 1.找到使用者擁有的Schema  2.在Schema中找到db_owner將Schema

總頁數: 61357 1 .... 21209 21210 21211 21212 21213 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.