如何比對資料表筆數(值)

資料庫轉移到不同伺服器後, 想要比對各資料表筆數有沒有不同 若資料值或是筆數不同,代表在移轉過程仍有應用程式在操作資料庫,會造成資料不一致。 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…

0

[ 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…

0

SQL Server 2005 Service Pack 3 – Beta

  請注意這是 Beta 版,不要任意在正式環境中做更新及測試。請在測試環境上安裝及測試。   下載網址: http://www.microsoft.com/downloads/details.aspx?FamilyID=d22317e1-bc64-4936-a14b-7a632b50a4ca&DisplayLang=en

0

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.

2

如何證明 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…

2

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\ 中…

2

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 行程式碼…

4

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.

2

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…

1

The Microsoft Source Code Analyzer for SQL Injection tool

防護 SQL 插入式攻擊弱點的新安全性工具 Microsoft Source Code Analyzer for SQL Injection 工具是一種靜態程式碼分析工具,可幫助您尋找動態伺服器網頁 (ASP) 程式碼中的 SQL 插入式攻擊弱點。 Enjoy.

3