資料庫轉移到不同伺服器後, 想要比對各資料表筆數有沒有不同 若資料值或是筆數不同,代表在移轉過程仍有應用程式在操作資料庫,會造成資料不一致。 RESOLUTION 1: 使用 Visual Studio 2010 資料比較工具,可以比對到每一個資料值。 RESOLUTION 2: 使用 TSQL + Excel 來做 –此語法相容於 SQL 2000 –DROP TABLE temp_table –TRUNCATE TABLE temp_table CREATE TABLE temp_table ( no_of_rows INTEGER, table_name VARCHAR(30), ) EXEC sp_MSforeachtable ‘INSERT INTO temp_table SELECT COUNT(*) AS nr_of_rows, ”?” AS table_name FROM ?’ SELECT * FROM temp_table…
Tag: SQL Server 2005
[ SQL ] 一次修改所有的 User Databases 的 PAGE_VERIFY 為 CHECKSUM
What it is: 一次修改所有的 User Databases 的 PAGE_VERIFY 為 CHECKSUM Why it is important: 當針對 PAGE_VERIFY 資料庫選項啟用 CHECKSUM 時,SQL Server Database Engine 會針對整頁的內容計算總和檢查碼,並在將頁面寫入磁碟時,於頁首中儲存值。 從磁碟讀取頁面時,會重新計算總和檢查碼,並與頁首所儲存的總和檢查碼值作比較。 如此有助於提供高層級的資料檔完整性。此設定為建議值。 RESOLUTION: DECLARE @DBName varchar (50), @msg varchar (60), @sql varchar(60) DECLARE GetDBNames CURSOR FOR SELECT name FROM sys.databases WHERE page_verify_option < 2 AND database_id > 4 AND is_read_only = 0…
SQL Server 2005 Service Pack 3 – Beta
請注意這是 Beta 版,不要任意在正式環境中做更新及測試。請在測試環境上安裝及測試。 下載網址: http://www.microsoft.com/downloads/details.aspx?FamilyID=d22317e1-bc64-4936-a14b-7a632b50a4ca&DisplayLang=en
ADO.NET 2.0 之 SqlConnectionStringBuilder
一直以來在指定連線字串時,我們都會習慣使用下列的方式, string strConn = @"Data Source=.\SQLExpress;Integrated Security=True;Pooling=False"; 在 ADO.NET 2.0 後,多了另一個選擇 Connection String Builder。 什麼是 SqlConnectionStringBuilder 呢? 連接字串產生器可讓開發人員使用類別的屬性和方法,以程式設計的方式建立語法正確的連接字串,並剖析和重建現有的連接字串。該類別也使管理應用程式組態檔中儲存的連接字串更加容易。 即上面的指定方法可改為: SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(); scsb.DataSource = @".\SQLExpress"; scsb.InitialCatalog = "Northwind"; scsb.IntegratedSecurity = true; 筆者有時也會忘了要如何指定連線字串的參數,這個方式有支援 IntelliSense,讓指定參數更為方便。 更多資訊: SqlConnectionStringBuilder 類別 筆者使用的環境:Vista x64 w/SP1 + VSTS 2008 w/SP1 + SQL 2005 Express w/SP2. Enjoy.
如何證明 ADO.NET 預設有使用 Connection Pooling 的機制
使用 Connection Pooling 的機制,可以加快我們存取資料庫的速度。 預設 ADO.NET 是開啟 Connection Pooling 的,那要如何證明呢? 筆者用一個小程式,取得 InnerConnection 來做比較,在有開啟 Connection Pooling 下,因兩個物件相同,故會得到 True。 如下圖: 若將連線字串改為 @"Data Source=.\SQLExpress;Integrated Security=True;Pooling=False"; 執行結果為 False(代表沒有使用 Connection Pooling 的機制) 程式碼如下: using System; using System.Reflection; using System.Data.SqlClient; namespace InnerConnectionDemo { class Program { static void Main(string[] args) { // 若將連線字串改為 @"Data Source=.\SQLExpress;Integrated…
LINQ to SQL 第二集 – Debug Visualizer
LINQ to SQL 可以讓我們很方便的操作資料庫的內容,但若遇到問題或是需要去細看其所執行的 T-SQL及結果,在 Visual Studio 中就不是那麼方便了。 如下圖,T-SQL 語法無法完全顯示,需將 T-SQL 貼到 SQL Server 的管理工具或其它工具才較方便查看。 筆者有使用一個小工具 LINQ to SQL Debug Visualizer,讓我們在 Visual Studio 中可以更方便檢視 LINQ 所執行的 T-SQL。 由於 VS 2008 並沒有內建這個小工具,需要額外下載及安裝。 要如何安裝它呢? 1. 可以由這裡下載。 2. 將 SqlServerQueryVisualizer.zip 解壓縮,其中也包含它的原始程式碼。 3. 確定所有的 Visual Studio 都已關閉。 4. 把 \bin\debug\ 目錄中的 SqlServerQueryVisualizer.dll 複製到 \Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\Visualizers\ 中…
LINQ to SQL 第一集
LINQ 如何與 SQL Server 資料庫整合?Visual Studio 2008 又有那些方便的功能可以協助我們呢? 今天筆者建立一個簡單的 Windows Form 的應用程式 + 不到 10 行的程式碼來示範這個部份。 步驟如下: 1. 開啟 VS 2008 並新增一個 Windows Form 專案,命名為『LinqToSql』 2. 拖工具箱拖一個 DataGridView 到表單上,並設定『Dock in parent container』 3. 對專案加入一毎新項目『LINQ to SQL Classes』,並命名為『Northwind.dbml』 4. 在伺服器總管,設定連線到 SQL Express 的 Northwind 範例資料庫,並將 Category、Product、Order及 Order_Detail 拖到 Northwind.dbml 中 5. 在 Form1_Load 加入下列 5 行程式碼…
UrlScan v3.0 Helps Filter SQL Injection Attacks.
UrlScan 在 3.0 的版本中,特別加強了對 SQL Injection 的防護。8/20 已公佈 RTW 的版本,下載位置: Microsoft Urlscan Filter v3.0(x86) Microsoft Urlscan Filter v3.0 (x64) 一些相關的資訊如下: Microsoft Tool Helps Filter SQL Injection Attacks UrlScan v3.0 Beta Release 筆者之前已收集有關 SQL Injection 的資訊: The Microsoft Source Code Analyzer for SQL Injection tool SQL Injection 相關資訊 Enjoy.
Supportability for SQL Server 2005 in a virtual machine environment
原文網址:http://support.microsoft.com/kb/956262/en-us SUMMARY Because we have not tested Microsoft SQL Server 2005 to run in a virtual machine (VM) environment, we only provide commercially reasonable support for SQL Server 2005 running in a VM environment. Commercially reasonable support is defined as all reasonable support efforts by Microsoft Customer Support Services (CSS) that do not require code…
The Microsoft Source Code Analyzer for SQL Injection tool
防護 SQL 插入式攻擊弱點的新安全性工具 Microsoft Source Code Analyzer for SQL Injection 工具是一種靜態程式碼分析工具,可幫助您尋找動態伺服器網頁 (ASP) 程式碼中的 SQL 插入式攻擊弱點。 Enjoy.