Time of Update: 2015-11-08
標籤:-SQL SERVER產生測試環境:Create database Test; goUSE [Test]GOif OBJECT_ID(‘Tab2‘,‘U‘) is not nulldrop table Tab2goCREATE TABLE [dbo].[Tab2]([ID] [int] IDENTITY(1,1) NOT NULL,[TabID] [int] NOT NULL,[Name2] [nvarchar](50) NULL) GOSET IDENTITY_INSERT [dbo].
Time of Update: 2015-11-09
標籤: 網站規模到了一定程度之後,該分的也分了,該最佳化的也做了最佳化,但是還是不能滿足業務上對效能的要求;這時候我們可以考慮使用主從庫。主從庫是兩台伺服器上的兩個資料庫,主庫以最快的速度做增刪改操作+最新資料的查詢操作;從庫負責查詢較舊資料,做一些對實效性要求較小的分析,報表產生的工作。這樣做將資料庫的壓力分擔到兩台伺服器上從而保證整個系統響應的及時性。如果還無法滿足業務需求,我們就要考慮建立伺服器群,這裡我們不做考慮!1. 開啟sql
Time of Update: 2015-11-09
標籤:SQL Server 2005鏡像配置基本概念我理解的SQL Server 2005鏡像配置實際上就是由三個伺服器(也可以是同一伺服器的三個 SQL 執行個體)組成的一個保證資料的環境,分別是:主伺服器、從伺服器、見證伺服器。主伺服器:資料存放的地方從伺服器:資料備份的地方(即:主伺服器的鏡像)見證伺服器:動態調配主/從伺服器的第三方伺服器環境介紹首先介紹一下配置的環境:本次配置使用的是三個獨立的伺服器(A、B、C三台電腦)。A:主伺服器,IP:192.168.0.2B:從伺服器,IP:1
Time of Update: 2015-11-10
標籤:1、DateTime欄位類型對應的時間格式是 yyyy-MM-dd HH:mm:ss.fff ,3個f,它的時間精度為1/300秒,在使用時會舍入到舍入到 .000、.003 或 .007 秒三個增量,樣本 2014-12-03 17:06:15.007。2、DateTime2欄位類型對應的時間格式是 yyyy-MM-dd HH:mm:ss.fffffff ,7個f,精確到0.1微秒(μs),樣本 2014-12-03 17:23
Time of Update: 2015-11-10
標籤:使用Project Deployment Model部署到Sql Server之後,SSISDB負責管理這個Project, 參考文檔URL:Integration Services Language Referencehttps://msdn.microsoft.com/en-us/library/dn198335.aspx This section describes the Transact-SQL API for administering
Time of Update: 2015-11-05
標籤:SqlServer保留幾位小數的兩種做法 資料庫裡的 float momey 類型,都會精確到多位小數。但有時候 我們不需要那麼精確,例如,只精確到兩位有效數字。解決:1. 使用 Round() 函數,如 Round(@num,2) 參數 2 表示 保留兩位有效數字。2. 更好的方法是使用 Convert(decimal(18,2),@num) 實現轉換,decimal(18,2) 指定要保留的有效數字。這兩個方法有一點不同:使用 Round() 函數,如果 @num
Time of Update: 2015-11-09
標籤:一、背景由於項目開始時候使用的資料庫是SQL Server,後來把儲存的資料庫調整為MySQL,所以需要把SQL Server的資料轉移到MySQL;由於涉及的表比較多,所以想在MySQL中產生對應表並匯入資料;上網找了些資料,如:將ACCESS和MSSQL匯入MYSQL中、MySQL Migration 實現 MSSQL 到
Time of Update: 2015-11-07
標籤:一、ROWLOCK的使用1、ROWLOCK行級鎖確保,在使用者取得被更新的行,到該行進行更新,這段時間內不被其它使用者所修改。因而行級鎖即可保證資料的一致性,又能提高資料操作的並發性。2、ROWLOCK告訴SQL Server只使用行級鎖,ROWLOCK文法可以使用在SELECT,UPDATE和DELETE語句中。3、例如select語句中 A
Time of Update: 2015-11-06
標籤: SqlSession sqlsession=DbHelper.sqlSessionFactory.openSession(false);Transaction tra=new JdbcTransaction(sqlsession.getConnection());try{//這裡執行掃描任務}catch(Exception
Time of Update: 2015-11-09
標籤:網站中一些老頁面仍採用Row_number類似的開窗函數進行分頁處理,此時如果遭遇挖墳帖的情形可能就需要漫長的等待且消耗巨大.這裡給大家介紹根據Row_number()特性採用特定鎖Hint提升查詢速度. 直接上菜 指令碼環境可在SQL Server最佳化技巧之SQL Server中的"MapReduce"找到 如下查詢在分頁中比較常見set statistics time on select * from (select ProductID, rn =
Time of Update: 2015-11-09
標籤: 最近不定期有項目反饋周期性的系統整體效能下降情況,經分析存在因資料庫環境、參數配置不佳造成的。比如,sqlserver記錄檔預設按百分比增長,當記錄檔已經比較大時,每次擴充時耗時較長,系統整體卡頓;另外,如果沒有專門做記錄備份,收縮日誌和資料庫時不會顯著的降低日誌大小,造成每次完整備份很大、備份時間很長,等等。 推薦配置 簡單整理一些比較基礎、通用的配置如下: 1.
Time of Update: 2015-11-10
標籤:原文:SQL Server 利用鎖提示最佳化Row_number()-程式員需知網站中一些老頁面仍採用Row_number類似的開窗函數進行分頁處理,此時如果遭遇挖墳帖的情形可能就需要漫長的等待且消耗巨大.這裡給大家介紹根據Row_number()特性採用特定鎖Hint提升查詢速度. 直接上菜 指令碼環境可在SQL Server最佳化技巧之SQL Server中的"MapReduce"找到 如下查詢在分頁中比較常見set statistics time
Time of Update: 2015-11-10
標籤:原文:SQL Server最佳化器特性-動態檢索前段時間我寫的文章 SQL Server 隱式轉換引發的躺槍死結 中有的朋友評論回複說在SQL2008R2測試時並未出現死結,自己一測果然如此,因此給大家帶來的疑惑表示抱歉,這裡我就解釋下其原因. 回顧:SQL2012中發生死結的原因已經向大家解釋了,因為隱式轉換造成的表掃描擴大了鎖規模.但在SQL2008R2中就未有同樣的現象出現,很顯然鎖規模沒有擴大,原因在於SQL
Time of Update: 2015-11-10
標籤:原文:SQL Server 最佳化器特性導致的記憶體授與相關BUG我們有時會遇到一些坑,要不填平,要不繞過.這裡為大家介紹一個相關SQL Server最佳化器方面的特性導致記憶體授與的相關BUG,及相關解決方式,也順便回答下鄒建同學的相關疑問. 問題描述一個簡單的查詢消耗了匪夷所思的記憶體.(鄒建同學發現的)原文連結Codecreate table test_mem(id int identity(1,1) primary key,itemid int not
Time of Update: 2015-11-10
標籤:1.開啟你的管理器-->選擇你的資料庫-->選擇所有任務-- >分離資料庫-->之後拷貝一分給別人用就可以了,之後你在附加上你的資料庫。2.拷貝 拷貝資料庫的位置:可以通過點擊伺服器-->右擊-->附加-->添加上面查看資料庫所在的位置知道資料庫所在的位置後進行拷貝3.資料庫拷貝之後再通過第二步附加上資料庫。這樣資料庫可以再次使用。 資料庫也可以通過第二步附加到別的伺服器的資料庫上,以方便串連重新部署網站或者軟體。
Time of Update: 2015-11-05
標籤:最近做一個報表,其中 在報表中用到了預存程序,遊標,cte運算式,暫存資料表和表變數。在遊標中迴圈遍曆cte中的資料,把對應的資料存放在變數裡面,之後把變數插入到表變數中,遊標結束後,想要根據預存程序的參數對錶變數進行過濾時,問題就來了。用動態sql拼接sql語句時,就會出錯。提示時沒有聲明表變數。其實,表變數不能運用在動態sql中。怎麼辦呢?我是把表變數中的資料插入到暫存資料表中,之後 在動態sql中實用暫存資料表進行拼接就可以了。不知道 大家 有沒有更好的想法。註:暫存資料表
Time of Update: 2015-11-06
標籤:SQL
Time of Update: 2015-11-05
標籤:MS SQL Server 資料庫連接字串詳解C# 串連串設定逾時時間SqlConnection.ConnectionTimeout 與 SqlCommand.CommandTimeout 及SqlBulkCopy.BulkCopyTimeout屬性https://msdn.microsoft.com/zh-cn/library/8xx3tyca.aspx SQL Server 串連池 (ADO.NET) http://www.docin.com/p-57627130
Time of Update: 2015-11-06
標籤:什麼是表分區一般情況下,我們建立資料庫表時,表資料都存放在一個檔案裡。但是如果是分區表的話,表資料就會按照你指定的規則分放到不同的檔案裡,把一個大的資料檔案拆分為多個小檔案,還可以把這些小檔案放在不同的磁碟下由多個cpu進行處理。這樣檔案的大小隨著拆分而減小,還得到硬體系統的加強,自然對我們操作資料是大大有利的。所以大資料量的資料表,對分區的需要還是必要的,因為它可以提高select效率,還可以對曆史資料經行區分存檔等。但是資料量少的資料就不要湊這個熱鬧啦,因為表分區會對資料庫產生不必要的
Time of Update: 2015-11-04
標籤:以前看到有些朋友說必須SQL Server 2008才能匯出包含資料的指令碼,後來仔細研究發現其實SQL Server 2008