資料庫鏡像和記錄傳送配合完成高可用性以及災難恢複

資料庫現在已經變成企業的基石,所以需要保證資料庫的高可用性。同時也需要防止意外事情導致整個資料中心出現問題(比如地址,水災等等)。所以對於資料中心高可用性和災難恢複是同時要考慮。 使用SQL Server的資料庫鏡像和記錄傳送兩項功能可以協助我們完成上述目標。 情景:A 資料中心有SQL2K8和R2兩台資料庫伺服器,B資料中心有SQL28(與A地區不同,為了防止意外導致整個A資料中心不可用),需要配置的資料庫為AuditDb。 配置如下:1. 

使用sp_getapplock限制使用者順序訪問預存程序

由於有些預存程序涉及到很多表資料的更改,所以每次只能運行一個使用者訪問。如果多個使用者訪問的話就會造成資料的出現問題(比如預存程序使用一張中間表做資料存放區,會用到刪除更新,如果第一個使用者正在更新的時候,第二個使用者刪除資料,那麼第一個使用者的資料就會丟失)。曾經看到有用控制板來控制預存程序的運行。運行預存程序之前先檢查控製表的狀態,如果發現有使用者正在運行則返回錯誤結果。 其實不需要額外開發只需要調用系統預存程序sp_getapplock就可以實現相同的功能。使用sp_getapplock可

刪除整張表但是空間沒有減少

 首先看一個例子: --建立測試表CREATE TABLE testfreespace( column1 INT,column2 CHAR(20),column3 VARCHAR(8000)) --插入資料DECLARE @count INT;SET @count = 0;WHILE @count < 3000BEGINSELECT@count = @count + 1;INSERT into testfreespaceVALUES( @count,'test row 

資料庫損壞如何處理?

By Gail Shaw, 2010/04/23 (first published: 2009/02/16) A corrupt database is probably one of most DBA's worst nightmares. It results in downtime, managers shouting and all other sorts of unpleasant thingsIn this article, I'm going to explain some of

VB Script判斷檔案夾下檔案的數量並發MAIL預警

 最近使用者有個需求,需要監控檔案夾下面檔案的數量。如果超過一定的閥值需要發MAIL預警。從網上找了些VB Script的代碼然後自己修改了一下就可以了。 原始碼如下: strMessage = "File number more than10, please check"strTo= "sample@home.cn"strFrom="sample@home.cn"strSubject="File number more than 10,please

丟失或損壞NDF檔案如何附加資料庫

 在論壇看到有人遇到 NDF檔案丟失並且沒有備份,所以無法成功附加資料庫。在網上也看到過很多回答是如果沒有NDF就無法附加成功。 其實我自己測試下來即使沒有NDF也是可以成功附加的。但是有條件,丟失的NDF檔案不屬於Primary file group並且SQL Server為企業版 下面是我做的測試:   1.       --建立資料庫 CREATE DATABASE[test1] CONTAINMENT=NONE ON PRIMARY(

中介軟體(EJB)學習之路之二——漸漸入門

上次的Oracle問題原因:管理員權限。因為在重裝系統的時候,建立了一個管理員權限的使用者(dcy),administrator使用者預設為禁用的,但是建立的使用者雖是管理員權限卻並不真正具有administrator的許可權,於是在運行一些程式的時候必須首先右擊—選擇管理員權限運行。而PL/Sql和Oracle的net configuration assistant

使用SQL語句獲得伺服器名稱和IP 位址

擷取伺服器名稱: SELECT SERVERPROPERTY('MachineName')select @@SERVERNAME select HOST_NAME()  擷取IP地址可以使用xp_cmdshell執行ipconfig命令: --開啟xp_cmdshell  exec sp_configure'show advanced options', 1 reconfigure with override  exec sp_configure'xp_cmdshell',

Column store index 列資料如何匹配成行資料?

SQL Server 2012引入了資料行存放區索引,對每列的資料進行分組和儲存,然後聯結所有列以完成整個索引。這不同於傳統索引,傳統索引對每行的資料進行分組和儲存,然後聯結所有行以完成整個索引。 在訪問基於行儲存的索引時,如果要查詢一個欄位需要將整個Page讀入記憶體,所以預設會讀到所有行的資料:通過上面的圖片可以看出,如果一個查詢只想查詢欄位A的值,代價是讀取所有的頁面,包括了不需要的欄位B,C,D,E。

如何隱藏Cognos Viewer

做BI項目很多時候需要跟Portal做整合,可以將整個BI Portal放到企業門戶或者只是存放一些固定的報表。由於Cognos預設運行會帶出Cognos Viewer,這樣就跟門戶不太協調。 有幾種辦法可以解決這個問題: 1.修改系統XML之間因此Cognos View 2. 修改URL的行為比如Copy the url of the report (go to Cognos connection-> go to the folderlocation of report->

使用 sys.sp_testlinkedserver 測試Linked Server 串連是否正常

在論壇看到有人提問是否可以用T-SQL測試LinkedServer的串連是否正常,這樣訪問多個Linked Server的時候如果其中的一個串連失敗就可以跳過不去處理。 在SQLServer 2005和之後的版本中提供了一個系統預存程序  "sp_testlinkedserver"可以用來測試LinkedServer是否連通。這個預存程序以Linked Server的名稱作為輸入參數,傳回值0表示成功,1返回失敗。 下面是一段測試代碼: declare @srvr nvarchar(128),@

每天一點Regex複習(一)

// 一個點代表一個字元,api解釋為任何字元 p("abc".matches("..."));//true p("123".matches("..."));//true //把所有的數字替換成-,\d代表 數字 兩個\\代表一個反斜線 p("a8729a".replaceAll("\\d", "-"));//a----a p("a872d9a".replaceAll("\\d",

Spring讀書筆記(一)

以FileSystemXmlApplicationContext為例說說初始化過程,該類是一個支援Xml定義的BeanDefinition的ApplicationContext,從該類的源碼來看,只提供了一個方法,getResourceByPath(String

Error: 701 記憶體不足時使用DAC串連

前一段時間測試SQL Server 2014記憶體資料庫的時候發現如果資料庫大小超過了設定的最大記憶體,SQL Server出現Error: 701錯誤。 錯誤資訊: Error: 701, Severity: 17, State: 123.There is insufficient system memory in resource pool 'internal' to runthis

每天一點Regex複習(二)

\\d代表數字 api解釋 :X{n,m} X,至少 n 次,但是不超過 m 次 p("214523145234532".matches("\\d{3,100}"));//true p("214523145234532".matches("\\d{3,10}"));//false p("1234567890".matches("\\d{10}"));//true X{n} X,恰好 n 次 /** *

已備份資料庫的磁碟結構版本為611,伺服器支援版本為539,無法還原或升級資料庫

大家都知道進階版本的資料庫檔案無法還原或者附加到低版本,因為高版本和低版本檔案格式會有不同。如果嘗試將低版本的資料庫附加或者還原到低版本的資料庫會看到類似下面的錯誤: 已備份資料庫的磁碟結構版本為611,伺服器支援版本為539,無法還原或升級資料庫。RESTORE FILELIST 操作異常結束。(MicrosoftSQL Server,錯誤:3169) 可以看到這裡有兩個版本號碼,不是我們平時看到的伺服器版本號碼(select

每天一點Regex積累(三)

p(" \n\r\t".matches("\\s{4}"));//true 說名\s 空白字元:[ \t\n\x0B\f\r] p(" ".matches("\\S"));//false 說明\S 非空白字元:[^\s] 所以是false p("a_8".matches("\\w{3}"));//true p("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));//true 說明[a-z]{1,3}

如何用T-SQL判斷SQL文法是否正確

前幾天在論壇看到有個文章提問是否可以在應用程式中檢查SQL Server的文法,當時自己也不清楚。今天在看SQL Server Set設定,發現有兩個選項可以實現這個功能: 1.  SET PARSEONLY選項(類似於SSMS的Cntrl+F5) 這個選項檢查每個 Transact-SQL 陳述式的文法並返回任何錯誤訊息,但不編譯和執行語句。 下面我們建立一個預存程序用來檢查輸入的語句是否正確: create  procedure

每天一點Regex積累(四)

// 以h開頭的 p("hello sir".matches("^h.*"));//true 說明^ 行的開頭 .*代表任一字元出現零次或者多次 p("hello sir".matches("^a.*"));//false p("h".matches("^h.*"));//true p("hello sir".matches(".*ir$"));//true $行的結尾,本句是以ir結尾的字元 p("hello

每天一點Regex積累(五)

/** * matches用於匹配整個字元,find找子串,其中find方法調用之後, * 可調用Matcher的toString方法,返回的字串中 * 的lastmatch來檢查哪些子串獲得匹配字 * ,不過最簡單的方法是調用group(),注意reset的影響,lookingAt每次從頭找 * 注意start和end方法必須能找到,才有傳回值,否則就報錯了 */

總頁數: 61357 1 .... 21207 21208 21209 21210 21211 .... 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.