Time of Update: 2018-12-07
其實有很多朋友都問到過Recovery Interval,有問這個是幹嗎的,有問怎麼調節這個值,所以今天寫一篇小Blog,一勞永逸。眾所周知,SQL Server依靠Log來保證效能和資料持久性兩不耽擱。那麼我們來看一看SQL Server是如何處理我們的資料修改請求的。首先我們的用戶端將資料修改指令遞交到SQL Server,SQL Server就會通過一系列的過程把資料從物理磁碟上讀取到記憶體中。資料被讀取到記憶體中後,SQL
Time of Update: 2018-12-07
最佳化SQL Server 2000的設定 SQL Server已經為了最佳化自己的效能而進行了良好的配置,比今天市場其他的關係型資料庫都要好得多。然而,你仍然有幾項設定需要進行修改,以便你的資料庫每分鐘可以處理更多的事務(TPM)。本篇文章的目的就是討論這些設定。我們忽略那些可以通過硬體設定或者表或者索引設計提高的效能,因為這些內容在本篇文章範圍之外。 破碎頁面檢測 在我們開始討論區伺服器配置開關之前,讓我們快速探索一下你的模型資料庫??或者說用作構建新的資料庫的基礎的模板。預設情況下,
Time of Update: 2018-12-07
Float and Real Approximate-number data types for use with floating point numeric data. Floating point data is approximate; therefore, not all values in the data type range can be represented exactly. The ISO synonym for real is float(24). Data
Time of Update: 2018-12-07
CLR函數指令碼---------------------------------------------------------------------------------using System;using System.Data;using System.Data.SqlClient;using System.Data.SqlTypes;using Microsoft.SqlServer.Server;using System.Collections;///
Time of Update: 2018-12-07
在做SQL Server 2005 的群集維護時, 碰到了這樣一個問題:當資源群組在一個節點上的時候, 用sa登入資料庫, 從management studio中查看使用者資料庫的屬性, 正常; 但是將資源群組轉移到另一個節點時, 用sa登入資料庫, 從management studio中查看使用者資料庫的屬性, 卻報如下錯誤:標題: Microsoft SQL Server Management Studio------------------------------無法顯示請求的對話方塊。-
Time of Update: 2018-12-07
有時我們需要在SQL Server中清除已經串連過的伺服器名稱(Server Name)列表,後來網路搜尋,找到瞭解決方法: 刪除下面的檔案:C:\Documents and Settings\XXX\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin注意:刪除前請做備份! 如果Windows Server 2008 標準版安裝SQL Express
Time of Update: 2018-12-07
昨天在測試一段批量插入記錄的資料庫操作時,發現開啟事務與否對效能影響很大,根據當時的環境,測試有6倍差距.分別測試插入500條/5000條/50000條,開啟事務時分別為480毫秒/4546毫秒/47407毫秒不開事務時分別為3100毫秒/30859毫秒/308802毫秒這是什麼原因呢?仔細分析一下,這個應該跟SqlServer的後台記憶體管理和資料存取機制相關。 當我們提交資料到伺服器時,SqlServer會按如下順序進行操作: 1)複製資料到記憶體;2)書寫動作記錄;3)
Time of Update: 2018-12-07
安裝SQL Server 2008的時候沒有輸入序號,後來才發現是Express版的,今天到期了,升級SQL後,SQL服務可以用了,但SQL Server Management Studio缺無法使用。在網上找了許久找到了一個解決方案:1.修改註冊表(Regedit): 路徑:電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL
Time of Update: 2018-12-07
CREATE FUNCTION kmes.WorkDay_f(@dt_begin datetime,@dt_end datetime)RETURNS intASBEGIN DECLARE @workday int,@i int,@bz bit,@dt datetime set @dt_begin = convert(datetime, convert(nvarchar(32), @dt_begin, 23)) set @dt_end =
Time of Update: 2018-12-07
在使用網站管理工具做登入頁面的時候遇到的問題所遇問題:進入Visual Studio 2005的“網站”菜單的“ASP.NET 配置”後,點擊“安全”後,出現如下的出錯資訊:“選定的資料存放區區出現問題,原因可能是伺服器名稱或憑據無效,或者許可權不足。也可能是未啟用角色管理器功能造成的。請單擊下面的按鈕,以重新導向到可以選擇新資料存放區區的頁。下面的訊息可能會有助於診斷問題: 無法串連到 SQL Server 資料庫。
Time of Update: 2018-12-07
我們通過下面菜單,就可以在SQL Server Management Studio中,把我們選擇的資料庫中每一個對象都產生指令碼。這對我們做資料庫的版本管理,資料庫的升級文檔都很方便。在產生指令碼過程中,有很多參數可以選擇,合理的配置這些參數,可以讓我們很方便的按照我們的期望產生指令碼。產生指令碼的一些選項,如:我這裡是SQL 2005 的選項, SQL 2008 的選項跟這個稍有差異。這個差異可以參看下面兩篇文章SQL Server 2005 的產生 SQL Server
Time of Update: 2018-12-07
isnumeric,isdate,patindex,newid,collate,sp_executesql,checksum遂記下,以備日後查詢。不敢獨享,與君共之。有用且看,無用略過。 1> isnumeric( expression )-- 傳回值 1 | 0,判斷是否是數字類型。數實值型別包括(int、bigint、smallint、tinyint、numeric、money、smallmoney、float、decimal、real)樣本:select * from
Time of Update: 2018-12-07
SQL Server中,經常會用到Identity識別欄位,這種自增長的欄位操作起來的確是比較方便。但它有時還會帶來一些麻煩。樣本一:當表中被刪除了某些資料的時候,自增長列的編號就不再是一個連線的數列。這種時候我們可以用以下方案來解決。SET IDENTITY_INSERT [TABLE]
Time of Update: 2018-12-07
一, 資料庫複寫 SQL Server 2008資料庫複寫是通過發布/訂閱的機制進行多台伺服器之間的資料同步,我們把它用於資料庫的同步備份。這裡的同步備份指的是備份伺服器與主伺服器進行 即時資料同步,正常情況下只使用主要資料庫伺服器,備份伺服器只在主伺服器出現故障時投入使用。它是一種優於檔案備份的Database Backup解決方案。 SQL Server的複製分為種: 1. 快照發布:
Time of Update: 2018-12-07
在論壇上看到這樣一個文章, 原文如下:在我的SQL Server2008R2上, 試了一下, 果然是這樣, 轉換成numeric時報錯..看樣子很奇怪, 明明函數ISNUMBERIC的傳回值是1, 但是轉換卻不成功, 為什麼呢?查了一下BOL,
Time of Update: 2018-12-07
在連結資料庫的時候,提示一個錯誤!錯誤資訊如下!在建立與伺服器的串連時出錯。在串連到 SQL Server 2005 時,在預設的設定下 SQL Server 不允許進行遠端連線可能會導致此失敗。 (provider: 具名管道提供者, error:40 - 無法開啟到 SQL Server 的串連)我是現裝了SQL Server2000 後 在裝SQL Server2005的,網上有很多解決方案!下面一一列舉下:1,在開始菜單,程式裡面的 SQL Server2005下有個SQL
Time of Update: 2018-12-07
MS SQL Server:DDL 觸發器DDL 觸發器 (本文轉摘於網路)1. DDL Trigger 觸發事件總匯:在建立用來監視並響應該資料庫或伺服器執行個體中的活動的事件通知時,可以指定相應事件類型或事件組。DDL_DATABASE_LEVEL_EVENTS 包括: DDL_TRIGGER_EVENTS, DDL_FUNCTION_EVENTS, DDL_SYNONYM_EVENTS, DDL_SSB_EVENTS,
Time of Update: 2018-12-07
昨天有人在群裡討論SQL Server返回最後一個標識值的三個函數:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY,在些作個標記和小結。 其實MSDN對此有官方解釋:這三個函數都返回最後產生的標識值。 但是,上述每個函數中定義的“最後”的範圍和會話有所不同。 1、IDENT_CURRENT 返回為某個會話和當前範圍中的指定表產生的最新標識值。 如果 IDENT_CURRENT 值為 NULL(因為表從未包含行或已被截斷),IDENT_CURRENT
Time of Update: 2018-12-07
不論是 叢集索引,還是非叢集索引,都是用B+樹來實現的。我們在瞭解這兩種索引之前,需要先瞭解B+樹。如果你對B樹不瞭解的話,建議參看以下幾篇文章:BTree,B-Tree,B+Tree,B*Tree都是什麼 http://blog.csdn.net/manesking/archive/2007/02/09/1505979.aspx B+ 型樹狀結構的結構圖:B+ 型樹狀結構的特點:所有關鍵字都出現在葉子結點的鏈表中(稠密索引),且鏈表中的關鍵字恰好是有序的; 不可能在非葉子結點命中;
Time of Update: 2018-12-07
企業級的資料庫應用大多部署在RAID磁碟陣列的伺服器上,這樣能提高磁碟的訪問效能,並能夠實現容錯/容災。RAID(冗餘磁碟陣列),簡單理解,就是拿一些廉價的硬碟來做成陣列。其目的無非是為了擴充儲存容量,提升讀寫效能,實現資料冗餘(備份容災)。就像很早就有老外拿N台舊PC,做成一個強大的“伺服器叢集”。RAID技術誕生於1987年,由美國加州大學伯克利分校提出。主流的大概可以分為幾個層級:RAID 0,RAID 1,RAID 5,RAID 10