Time of Update: 2015-08-19
標籤: TimeStamp SQL Server timestamp 資料類型與時間和日期無關。SQL Server timestamp 是位元字,它表明資料庫中資料修改發生的相對順序。實現 timestamp 資料類型最初是為了支援 SQL Server 恢複演算法。每次修改頁時,都會使用當前的 @@DBTS 值對其做一次標記,然後 @@DBTS 加1。這樣做足以協助恢複過程確定頁修改的相對次序,但是 timestamp
Time of Update: 2015-08-19
標籤:頁 資料頁 區 寫在前面的廢話:索引問題已經是老生常談的問題,雖然被經常說起,但作為我來說,至今沒有用過索引(很可怕吧),我作為MS-BI實施工程師居然沒用過索引,說話自然沒底氣。之前對索引的瞭解停留在“知道”的地步上,隨著時間的流逝感覺不真正將索引應用起來簡直是渣渣!廢話到此為止,開始索引專題,為了徹徹底底(我不是DBA,
Time of Update: 2015-08-17
標籤:SQL Server調優系列文章摘要: 這是關於SQL Server調優系列文章,以下內容基本涵蓋我們日常中所寫的查詢運算的分解以及調優內容項,皆為原創........第一個基礎模組注重基礎內容的掌握,共分7篇文章完成,內容涵蓋一系列基礎運算演算法,詳細分析了如何查看執行計畫、掌握執行計畫最佳化點,並一一列舉了日常我們平常所寫的T-SQL語句...閱讀全文posted @ 2015-03-29 21:13 指尖流淌 閱讀(597) | 評論 (1)
Time of Update: 2015-08-13
標籤:涉及到設定檔的串連方法:方式一: 在設定檔中:<configuration> <appSettings> <add key="ConnectionString" value="Data Source=伺服器的名稱;Initial Catalog=要串連的資料庫的名稱;User ID=資料庫登入名稱;Password=資料庫登入密碼"/>
Time of Update: 2015-08-14
標籤:自從用了EF後很少寫sql和預存程序了,今天需要寫個比較複雜的報告,翻出了之前的筆記做參考,感覺這個筆記還是很有用的,因此發出來和園友分享。1、case...end (具體的值)case後面有值,相當於c#中的switch case注意:case後必須有條件,並且when後面必須是值不能為條件。-----------------case--end---文法結構---------------------select name , --注意逗號 case level --case後跟條件
Time of Update: 2015-08-08
標籤:通過瞭解相關知識,大體明白了sqlserver索引的基礎知識。索引是為了最佳化查詢效率,過多的重複索引將影響資料的增刪改操作。所以使用的時候應具實際情況進行添加。索引類型分為:唯一索引、主鍵索引、叢集索引和非叢集索引。唯一索引:唯一索引不允許兩行具有相同的索引值。 主鍵索引:為表定義一個主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特殊類型。主鍵索引要求主鍵中的每個值是唯一的,並且不可為空叢集索引:表中的各行物理順序與索引值的邏輯(索引)順序相同,每個表只能有一個。非叢集索引:非叢
Time of Update: 2015-08-05
標籤:The difference is that you should be using the syntax WITH (NOLOCK) (or WITH (<any table hint>)). Why?Without WITH is deprecated. From Table Hints on MSDN:Omitting the WITH keyword is a deprecated
Time of Update: 2015-08-07
標籤:幾乎每次我展示SQL Server裡的視窗時,人們都非常有興趣知道,當你定義你的視窗(指定的一組行)時,ROWS與RANGE選項之間的區別。因此在今天的文章裡我想給你展示下這些選項的區別,對於你的分析計算意味著什麼。ROWS與RANGE之間的區別當你用OVER()子句進行你的分析計算來開啟你的視窗,你也可以在視窗裡看到的,通過ROWS與RANGE選項來限制你的行數。來看下面的T-SQL語句: 1 SELECT 2 t.OrderYear, 3
Time of Update: 2015-08-05
標籤:IDENT_CURRENT 返回為任何會話和任何範圍中的特定表最後產生的標識值。IDENT_CURRENT 不受範圍和會話的限制,而受限於指定的表。@@IDENTITY 返回為當前會話的所有範圍中的任何錶最後產生的標識值。SCOPE_IDENTITY 返回為當前會話和當前範圍中的任何錶最後產生的標識值 也許大家對SQL Server中的 @@IDENTITY 都不陌生,都知道它是擷取資料表中最後一條插入資料的IDENTITY值。比如,表 A 中有個 ID
Time of Update: 2015-08-02
標籤:在今天的文章裡我想示範下SQL Server裡在表上丟失索引如何引起死結(deadlock)的。為了準備測試情境,下列代碼會建立2個表,然後2個表都插入4條記錄。 1 -- Create a table without any indexes 2 CREATE TABLE Table1 3 ( 4 Column1 INT, 5 Column2 INT 6 ) 7 GO 8 9 -- Insert a few record10 INSERT INTO Table1
Time of Update: 2015-08-03
標籤:什麼是事務 事務時包含1條或多條語句的邏輯單元。事務中的語句是一個整體,要麼一起提交,要麼一起撤銷。事務在提交前可以復原,一旦提交就不能撤銷修改了,是永久性的修改。 為什麼使用事務 可以例舉生活中的例子,比如銀行轉賬:A向B轉100萬。程式的執行順序:1.A賬戶減掉100萬
Time of Update: 2015-07-29
標籤:在今天的文章裡我想討論下SQL Server裡一個特別的T-SQL語言結構——自SQL Server 2005引入的PIVOT運算子。我經常引用這個與語言結構是SQL Server裡最危險的一個——很快你就會知道為什麼。在我們進入特定問題和陷阱前,首先我想給你下使用SQL Server裡的PIVOT能實現什麼的一個基本概述。概述SQL Server裡PIVOT運算子背後的基本思想是在T-SQL查詢期間,你可以旋轉行為列。運算子本身是SQL
Time of Update: 2015-07-27
標籤:序號類別SQLServerC Sharp備忘1整數bitBooleanTrue轉換為1False轉換為02tinyintByteC Sharp 資料類型都位於System命名空間3smallintInt164intInt325bigintInt646smallmoneyDecimal7moneyDecimal8numericDecimal9decimalDecimal10浮點數floatDouble11realSingle12日期和時間smalldatetimeDateTime1
Time of Update: 2015-07-24
標籤:sql server 預存程序 觸發器 遠程 最近弄了一個小項目,也不是很複雜,需要將一個資料庫的一些資料備份到另外一個庫,不是本地,可能是網路上其他的資料庫,想了一下,用了預存程序和觸發器。也不是很複雜,首先我需要操作遠端資料庫,於是寫了一個預存程序:CREATE PROCEDURE sendInfoToRemoteDb @CardNo varchar(
Time of Update: 2015-07-24
標籤:目錄 維護指南 《SQL Server 2014 安裝與配置指南》章節目錄《SQL Server 2014管理與維護》第1章 實現資料完整性和一致性1.1 資料完整性1.2 資料一致性1.3 阻塞和死結第2章 包含資料庫2.1 包含的概念2.2 實現包含資料庫2.3 包含資料庫的定序2.4 遷移到包含資料庫第3章 &
Time of Update: 2015-07-23
標籤:1、首當其衝是登陸問題, SQL Server 2008選擇Windows身分識別驗證無法登入 (Microsoft Sql Server,錯誤:18456) 就是在串連SQL Server 2008時,選擇Windows身分識別驗證,提示使用者名稱或密碼有誤。無論是Windows身分識別驗證還是SQL身分識別驗證,在SQL Server裡都應該存在對應的登入名稱。先通過SA賬戶密碼,檢查"安全性"-"登入名稱",發現只有一個systenm
Time of Update: 2015-07-25
標籤:在今天的文章裡我想談下SQL Server使用的更進階的,輕量級的同步對象:閂鎖(Latch)。閂鎖是SQL Server儲存引擎使用輕量級同步對象,用來保護多線程訪問記憶體內結構。文章的第1部分我會介紹SQL Server裡為什麼需要閂鎖,在第2部分我會給你介紹各個閂鎖類型,還有你如何能對它們進行故障排除。為什麼我們需要閂鎖?閂鎖首次在SQL Server 7.0裡引入,同時微軟首次引入了行層級鎖(row-level
Time of Update: 2015-07-23
標籤:use mytestgo--nchar類型與char類型完全相同,除了nchar是以Unicode格式而非ANSI格式來儲存字元。--Unicode格式比ANSI格式有更大的字元集範圍。ANSI字元集僅有256個字元,Unicode字元集有65536個不同的字元。--在SQL server中,Unicode資料類型要佔用更多的儲存空間,SQL server將為Unicode資料類型分配雙倍的內部--儲存空間,因此,除非資料庫中的確需要以這種格式儲存字元,否則應
Time of Update: 2015-07-22
標籤:1、擷取目前時間SELECT GETDATE() AS ‘當前日期‘ , DATENAME(year, GETDATE()) AS ‘年‘ , DATENAME(month, GETDATE())&nbs
Time of Update: 2015-07-22
標籤:第一次訪問資料會比接下來的訪問慢的多,因為它要從磁碟讀取資料然後寫入到緩衝區;彙總查詢(sum,count等)以及其他要掃描大部分表或索引的查詢需要大量的緩衝,而且如果它導致SQL Server從緩衝中丟棄其它資料,還會對效能帶來不利的影響;經過謹慎設計,將SQL Server作為記憶體緩衝也是可能的;寫效能很大程度上是由SQL