Time of Update: 2018-12-03
SQLServer的一次堵塞分析(2010-08-27)今天工作人員突然報告說某個介面無法正常開啟了,第一個想到的便是SQLServer又發生堵塞了。在SQLServer中,做了一個5分鐘運行一次的定時任務,定期掃描堵塞情況;不過五分鐘有些太久了。就運行了一下查詢堵塞的指令碼,看看目前系統裡正在發生的堵塞情況。SELECT blocked_query.session_id AS blocked_session_id, blocking_query.session_id AS
Time of Update: 2018-12-03
try { string physicspath = "D:\\" + FileUpload.FileName; //excel檔案存放的位置 //產生串連Excel資料表格的字串 string strOdbcCon = @"Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False;Data Source=" + physicspath + ";
Time of Update: 2018-12-03
UPDLOCK讀取表時使用更新鎖定,而不使用共用鎖定,並將鎖一直保留到語句或事務的結束。UPDLOCK 的優點是允許您讀取資料(不阻塞其它事務)並在以後更新資料,同時確保自從上次讀取資料後資料沒有被更改。這是SqlServer2000中對更新鎖定的說明.當我們用UPDLOCK來讀取記錄時可以對取到的記錄加上更新鎖定,從而加上鎖的記錄在其它的線程中是不能更改的只能等本線程的事務結束後才能更改,我如下樣本:BEGIN TRANSACTION --開始一個事務SELECT
Time of Update: 2018-12-03
選擇要安裝的功能接著,來到"功能選擇"介面,需要作出一些決定。1-3所示,此處的安裝會安裝所有的功能,因為這將是一個開發執行個體,開發人員將脫離所有進行中的項目開發來測試SQL Server的各個方面。不過,也可以根據需要,有選擇性地安裝各種組件。就本書而言,需要安裝"資料庫引擎服務"、"Reporting Services"、"用戶端工具"以及用來建立報表的"Business Intelligence Development
Time of Update: 2018-12-03
1.首先必須在windows 系統下 伺服器常用的有windows server 2003/window server 2000而開發的平台可以選擇window xp等professional的系統但這有負載的限制(系統的安裝恐怕就不用我再囉嗦了)2.有了系統之後還必須安裝iis控制台-->添加、刪除程式-->添加、刪除window組件在window xp 直接就可以看到interest服務資訊(iis)在window 2003
Time of Update: 2018-12-03
sysaltfiles 主要資料庫 儲存資料庫的檔案syscharsets 主要資料庫字元集與排序次序sysconfigures 主要資料庫 配置選項syscurconfigs 主要資料庫當前配置選項sysdatabases 主要資料庫伺服器中的資料庫syslanguages 主要資料庫語言syslogins 主要資料庫 登陸帳號資訊sysoledbusers 主要資料庫 連結的伺服器登陸資訊sysprocesses 主要資料庫進程sysremotelogins主要資料庫
Time of Update: 2018-12-03
設定檔 。 。 。 <system.web> <compilation debug="true" targetFramework="4.0"/> <sessionState timeout="30" cookieless="UseUri" mode="SQLServer" sqlConnectionString="mysql"></sessionState> </system.web>無法開啟登入
Time of Update: 2018-12-03
當向表中的現有列添加 FOREIGN KEY 約束時,預設情況下 SQL Server 2005 資料庫引擎 會檢查列中的現有資料,以確保除 NULL 以外的所有值存在於被引用的 PRIMARY KEY 或 UNIQUE 約束列中。但是,通過指定 WITH NOCHECK,資料庫引擎 可以不針對新約束檢查列資料,並添加新約束而不考慮列資料。如果現有資料已符合新的 FOREIGN KEY 約束,或商務規則要求僅從此開始強制執行約束,則可以使用 WITH NOCHECK
Time of Update: 2018-12-03
資料庫中欄位類型是:datetime1.採用java.util.Date類import java.sql.Connection;import java.util.Date;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.text.SimpleDateFormat;/** * @作者:Jcuckoo * @日期:2008-12-1 * @版本:V 1.0 */p
Time of Update: 2018-12-03
對於大的資料庫,備份花費的時間是非常多的,而且很耗費資源。如果能讓備份跑的更快? 可以使用下面的參數:1. 將Database Backup多到個檔案(多個磁碟)2.啟用壓縮功能(2008,R2之後都有)3. 使用參數maxtransfersize和buffercount4.調整備份側率,使用檔案和檔案組備份 BUFFERCOUNT :指定用於備份操作的 I/O 緩衝區總數。可以指定任何正整數;但是,較大的緩衝區數可能導致由於 Sqlservr.exe
Time of Update: 2018-12-03
SELECT type,--Clerk的類型 sum(virtual_memory_reserved_kb)as vm_Reserved_kb,--保留的記憶體 sum(virtual_memory_committed_kb)as vm_Committed_kb,--提交的記憶體 sum(awe_allocated_kb)as awe_Allocated_kb,--開啟AWE後使用的記憶體 sum(shared_memory_reserved_kb)as
Time of Update: 2018-12-03
很多人都遇到過下面的問題:1.使用Log shipping,如果主伺服器出問題以後應用程式如何轉到次要伺服器?2.如果將資料庫遷移到其他伺服器,我不想修改程式該如何?? 針對上面的兩個問題我們可以使用SQL Server 別名: SQL Server Configuration Manager->SQL Native Client Configuration->newAliases 配置過程中需要我們輸入資料庫伺服器地址,連接埠以及使用的協議。
Time of Update: 2018-12-03
今天在網上看到有人在討論預讀和物理讀的區別,個人覺得物理讀和預讀都是IO操作,都是需要從磁碟中讀取資料到記憶體,只是讀取的時間有所不同,之後查了一下MSDN確認了這種想法。 預讀是在產生執行的同時去做的,通過這種方式可以提高IO的效能。而物理讀是當執行計畫產生好後去緩衝讀取資料發現缺少資料之後才到磁碟讀取。當所有資料都從緩衝中可以讀取就變成讀。 下面舉個例子: LINEITEM 表中大概儲存了600W資料,我們使用SET STATISTICS IO ON:SET STATISTICS IO
Time of Update: 2018-12-03
在某些情況下熟悉SQL Server 萬用字元的使用可以協助我們簡單的解決很多問題。 --使用_運算子尋找Person表中以an結尾的三字母名字USEAdventureWorks2012;GOSELECT FirstName, LastNameFROM Person.PersonWHERE FirstName LIKE'_an'ORDER BY FirstName; ---使用[^]運算子在Contact表中尋找所有名字以Al開頭且第三個字母不是字母a的人USEAdventureWorks20
Time of Update: 2018-12-03
今天測試了一個Logshipping多個資料庫執行個體(測試資料庫dbLogTest,主伺服器執行個體SQL2K8,Secondary1執行個體R2,Secondary2執行個體
Time of Update: 2018-12-03
看到網上有人在尋找SQL Server儲存Email資料,其實SQL Server提供了OLE DB Provider可以訪問Exchange. Microsoft OLE DB Provider for Exchange 以表格形式公開儲存在 Microsoft Exchange 2000 Web Store 中的資料。可以使用類似於 OLE DB Provider for Microsoft Indexing Service 所支援的 SQL 子集的 SQL
Time of Update: 2018-12-03
由于于高可用的資料庫伺服器可能很少停機,SQLServer的記錄檔增長會非常大。這樣對於DBA使用錯誤記錄檔尋找資訊就會比較困難,而且日誌大了寫入以後效能也會受到影響。 我們通常認為SQLServer啟動的時候才會建立錯誤記錄檔,所以需要停機才能重新建立記錄檔,而這樣的維護對於高可用性的資料庫是不可想象的。 其實完全可以不通過重啟服務就可以實現日誌的迴圈。 微軟提供了一個預存程序sp_cycle_errorlog可以實現日誌的迴圈。
Time of Update: 2018-12-03
在SQLServer啟動過程中首先會從註冊表讀取啟動資訊,有時候SQLServer無法啟動的時候我們需要修改註冊表的問題。但是SQLServer的資訊儲存在註冊表哪裡呢?從網上找了很久但是都不是很全。 其實微軟在2008 R2 SP1之後的版本中新增加了一個DMV可以查詢SQLServer執行個體中Windows註冊表中的配置資訊和安裝資訊,對於每個登錄機碼返回一行,可以返回主機上可用的 SQL Server 服務或 SQL Server
Time of Update: 2018-12-03
大家都知道SQL Server事務是單個的工作單元。如果某一事務成功,則在該事務中進行的所有資料修改均會提交,成為資料庫中的永久組成部分。如果事務遇到錯誤且必須取消或復原,則所有資料修改均被清除。 所以是不是說事務出錯一定會復原整個事物呢? 先看幾個個例子: --createtable create table testrollback(idintprimarykey, namevarchar(10)) SETXACT_ABORTOFF--Default Settings begin
Time of Update: 2018-12-03
做資料庫經常會遇到SQL Server串連的問題,很多時候用戶端沒有安裝SQL Server工具,可以通過Telnet或者Ping命令判斷問題,但是針對於不懂的使用者可能沒有說服性。最好有一個圖形化的介面。 其實我們可以通過建立一個UDL(Universal Data Link)檔案測試,步驟: 1. 建立一個txt檔案 2. 將txt檔案尾碼名修改為UDL 3. 開啟UDL會列出機器上的Provider 4. 選擇一個Provider進行測試,這裡我選擇NativeClient 5.