查看Buffer Pool使用方式

轉自微軟支援人員論壇:“我的SQL Server buffer pool很大,有辦法知道是哪些對象吃掉我的buffer Pool記憶體嗎?比方說,能否知道是哪個資料庫,哪個表,哪個index佔用了buffer Pool嗎?”針對這個問題可以使用(DMV) sys.dm_os_buffer_descriptors。這個DMV非常強大。根據SQL Server 聯機叢書,這個視圖的作用是 “返回有關 SQL Server

採用Mutt及msmtp配置進行郵件發送

         最近想分析一些訪問日誌,並每天週期性發送至一些人的郵箱中。Linux系統下有非常多的開源軟體可以採用命令的方式來發送郵件,有些較為複雜。其中一種即採用mutt和msmtp的解決方案,它類似於foxmail及outlook的用戶端,可以通過命令列的方式來進行郵件的自動發送。1、  msmtp的安裝與配置安裝過程如下:$ wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2$ tar xvf msmtp-1

Lumigent Log Explorer是不是可以恢複所有使用者誤操作的資料?

剛用SQLServer的時候遇到一個情況,由於使用者的誤操作導致一張表被刪除,由於資料庫沒有備份,所有不能用Restore還原(現在知道備份是多麼的重要)。去網上查看了第三方的資料恢複工具然後找到了LumigentLog

資料庫修複系列Part3:repair_allow_data_loss

運行DBCC CHECKDB withNO_INFOMSGS發現下面的錯誤: Table error: ObjectID 7, index ID 2, partition ID 562949953880064, alloc unit ID 562949953880064(type In-row data), page (1:54). Test ((m_type >= DATA_PAGE &&m_type <= UNDOFILE_HEADER_PAGE) ||

災難:正式資料庫和測試測試資料庫在一台伺服器

曾經看到很多人喜歡將測試資料庫和正式資料庫放到一台伺服器上,認為這樣可以節省資源。雖然正式和測試分成兩個執行個體配置,安全性上不會有問題,但是效能和維護上會有很多問題。 1. 維護:一般來說測試伺服器不需要什麼高可用性,測試需要停機就可以停機,不需要跟使用者去做溝通。但是對於正式伺服器都是有業務在跑的,而且有SLA的限制,不能說停就停。所以放到一起,測試伺服器就失去了靈活性。 2.效能:對於SQL

根據分區表名尋找所在的檔案及檔案組

SELECT ps.nameAS PSName,      dds.destination_idAS PartitionNumber,      fg.name AS FileGroupName,fg.name,    t.name,    f.name as filename     FROM (((sys.tablesAS t        INNER JOINsys.indexesAS i            ON (t.object_id= i.object_id))    

如何阻止DBA看到你的資料?

在論壇看到這樣一個文章,針對這個問題很多人都有不同的看法。比如既然你已經給予了DBA Sysadmin的許可權,那麼你就要去相信他,否則重新找一個DBA。這話是沒錯,作為公司的DBA是管理公司的核心資料的,我們一定要相信他。 但是從業務的角度來看,因為有很多機密的資訊,DBA是不能夠接觸的,但是如何保證他們沒有看過這些資料呢? 解決此類的問題我覺得需要: 1. 使用加密,這樣DBA即使有許可權看到表也無法看到裡邊的資料,但是會有效能損失。 2.對DBA的賬戶進行Audit(server

CHECKDB可以修複所有錯誤嗎?

通常很多人覺得DBCC CHECKDB WITH REPAIR_ALLOW_DATA_LOSS可以修複資料庫出現的問題,但是不一定。Pual的文章很詳細的介紹了哪些情況下是無法修複的: In my previous post on interpreting CHECKDB output, plus in my DBCC Internals session at TechEd IT Forum yesterday, I mentioned there are some things that

無法刪除Maintainplan Job 錯誤547

今天刪除SQLServer維護計劃的時候出現下面的錯誤: The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id". The conflict occurred in database "msdb", table "dbo.sysmaintplan_subplans". (Microsft SQL Server, Error:547)  解決辦法: Use MSDBgodelete

消除Key Lookup和RID Lookup Part1:使用Include Index

在執行計畫中我們經常會看到KeyLookup和RIDLookup操作,而且Cost很大,具體什麼是Key Lookup和RID Lookup: RIDLookup是在使用提供的行標識符(RID) 在堆上進行的書籤尋找 KeyLookup運算子是在具有叢集索引的表上進行的書籤尋找 區別是 Key Lookup通過叢集索引索引值進行尋找,RID

如何控制使用者訪問資料庫

使用SQL Server Log On trigger: CREATE DATABASE AuditDb GO USE AuditDb GO /* Create AuditTable */ CREATE TABLE ServerLogonHistory (SystemUser VARCHAR(512), DBUser VARCHAR(512), SPID INT, LogonTime DATETIME) GO /* Create LogonTrigger */ CREATE TRIGGER

Nonclustered Indexes頁層級包含什麼資料?

 先來看兩個例子: 1.      建立測試表,C1為主鍵。 CREATE TABLE [dbo].[ProdTable2](      [c1] [int] IDENTITY(1,1)NOTNULL,      [c2] [datetime] NULL,      [c3] [char](25)NULL, CONSTRAINT[PK_ProdTable2] PRIMARY KEY CLUSTERED(      [c1]

網卡效能分析-Intel8257X晶片手冊讀後感

引:在《《OpenVPN效能》之後,我進一步閱讀了硬體的解決方案,希望能得到一些思想,然後進一步的改進我的設計,由於工作的便利性和實際工作的需要,我閱讀了intel的82571EB,82574L,82575等乙太網路晶片的datesheet的相關特性描述部分(由於我不打算親自寫驅動,因此我沒有閱讀寄存器以及儲存空間細節,更多的是我不相信自己的驅動比intel的工程師們的更高效),得到了很多感覺,以下是我的一些摘錄和讀後感。一,網路應用開銷1.協議棧處理開銷:分層模型各個層次的OS實現開銷2.記憶

查詢sys.dm_os_wait_stats 瞭解資料庫等待資訊

 當使用者告訴你資料庫很慢的時候,你要怎麼開始Narrowdown問題呢?SQL Server提供了sys.dm_os_wait_stats可以協助我們查看CPU,記憶體或者IO的等待狀況。SQL Server執行過程中中等待資訊會被記錄到這個View中。 通過下面的語句我們可以抓取一段時間內SQL Server等待的累積資訊,通過對這些資訊進行排序可以找出資源瓶頸。 先看一下各個Wait等待的佔比: WITH Waits AS  (  SELECT     wait_type,    

查詢Blocking指令碼

SELECT SPID=p.spid,       DBName = convert(CHAR(20),d.name),       ProgramName = program_name,        LoginName = convert(CHAR(20),l.name),       HostName = convert(CHAR(20),hostname),       Status = p.status,       BlockedBy = p.blocked,      

消除Key Lookup和RID Lookup Part2:索引交集和索引Join

今天在MSDN查詢最佳化建議中看到這樣一條資訊:SQL Server 會自動考慮索引交集並可以在同一查詢中對同一個表使用多個索引(可能跟大家的理解有偏差)。 在解釋之前我們先看一個例子: useAdventureWorksgoselect soh.*from sales.SalesOrderHeaderASsohWHERE soh.SalesPersonID= 276and soh.OrderDatebetween'4/1/2002'and'7/1/2002' 查看執行計畫:          

刪除變長欄欄位後使用DBCC CLEANTABLE回收空間

SQL Server在刪除變長列或者減小變長列的長度後,表的大小不會響應自動減小,除非DBA重建索引或者reorganized索引。變長列包括varchar,nvarchar, varchar(max), nvarchar(max), varbinary, varbinary(max), text, ntext,image, sql_variant,和xml。 SQL Server提供了一個DBCCCLEANTABLE的命令可以回收表或索引檢視表中已刪除的可變長度列的空間。 下面我們做個測試: 

資料庫修複Part1:建立自己的測試corrupt資料庫

以前看Pual寫過很多資料恢複的文章,他很多的測試都是自己建立的Corrupt資料庫,其實我們自己也可以。 1.       建立資料庫資料表插入資料:use master gocreate databasecorrupt use corrupt gocreate tabletest(IDint, namevarchar(10)) declare @int asintset @int = 1while @int <20begininsert

你的資料庫使用特定於本版本的功能嗎?

由於SQL Server不同版本之間會有一些不同的功能,比如在SQL Server 2008 企業版中可以使用資料壓縮,但是在標準版中卻不支援這個功能。我們不能將包含這些功能的資料庫遷移到不支援這些功能的 SQL Server 版本。 下面我嘗試將使用資料壓縮的資料庫還原到標準版會出現錯誤:  所以如果要還原到其他版本的資料庫,我們需要知道當前資料庫是不是啟用了特殊功能。使用 sys.dm_db_persisted_sku_features

資料庫修複Part2: 分頁還原

上文我們已經建立了Corrupt的資料庫,今天我們就用分頁還原修複損壞的頁面。 首先我們允許DBCC CHECKDB查看損壞的頁面ID: DBCC CHECKDB withNO_INFOMSGS  Msg 8928, Level 16,State 1, Line 1Object ID2105058535, index ID 0, partition ID 72057594038779904, alloc unit ID72057594039828480 (type In-row data):

總頁數: 61357 1 .... 21211 21212 21213 21214 21215 .... 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.