2009年5月30日 星期六

SQL Server 2008 與SQL Server 2005 Sample Databases範例資料庫下載與安裝

SQL Server 2008 與SQL Server 2005 Sample Databases範例資料庫下載與安裝

 
SQL Server 2008安裝光碟已不再含有範例資料庫Sample Database,需自行到CodePlex網站的SQL Server Database Product Samples網頁下載
http://msftdbprodsamples.codeplex.com/

 
[SQL Server 2008]
 
 
 
 
[SQL Server 2005]
 
 
SQL Server 2008 Sample Database 安裝
Next
 
 
 
勾選同意
 
 
 
Next
 
 
 
選擇一個要安裝在哪一個本機SQL Server 2008 Instance
 
Read Carefully的Warning:有兩個功能必須是啟用的(FILESTREAM與Full-Text Search)
實際執行安裝完成後發現這兩個功能若沒有啟用仍可正常安裝,只是這兩個功能會被啟動起來
 
 
 
點擊Install開始安裝
 
 
 
PS.安裝過程中會另外出現一個sqlcmd畫面,表示需連進SQL Server 2008 Instance執行安裝的T-SQL,若安裝之前沒有把Instance啟動,在安裝的過程中安裝程式會自動將Instance啟動
 
 
 
Finish完成安裝

SQL Server 2008 Installation on Vista Business Edition(在Vista安裝SQL Server 2008)

SQL Server 2008安裝

執行SQL Server 2008光碟內的setup.exe
會自動偵測並安裝以下兩個必要元件
1.Microsoft .Net Framework 3.5 SP1
2.Microsoft Installer(MSI) 4.5

再次執行setup.exe則會啟動SQL Server 2008安裝中心
在左邊選擇Installation















在右邊選擇第一個
New SQL Server stand-alone installation or add features to an existing installation
新的SQL Server 2008獨立安裝或將功能加入現有的SQL Server 2008執行個體















接下來System Configuration Checker會進行[安裝程式支援規則]檢查軟硬體環境是否符合















在此畫面自動選擇第2個[輸入產品金鑰](Enter the product key),並會自動帶出金鑰(即安裝序號)

若是使用企業評估版,則此畫面請選第1個[指定一個免費版本](Specify a free edtion),並選擇Enterprise Evaluation(企業評估版)即可試用SQL Server 2008 Enterprise版180天














勾選[我接受授權條款](I Accept the license terms)














接下來要安裝必要元件
自動偵測後只需要安裝[安裝程式支援檔案](setup support files)














接下來System Configuration Checker會再次執行














視需求選擇要安裝的項目
因為我需要所有的功能所以我全選了,

當然如果只需要評估資料庫就只需要以下幾項,
應該就夠了
1.Database Engine service
2.Client Tools Connectivity
3.Client Tools SDK
4.Management Tools - Complete
5.SQL Client Connectivity SDK
如果你是開發人員或DBA最後連6線上叢書都裝
6.SQL Server Books Online














選擇執行個體
預設值應該是第1個Default Instance
但我的電腦已經裝了SQL Server 2005作為default instance,所以預設帶出來就幫我選了第2個具名執行個體(Named instance),具名執行個體需輸入一個自訂的Instance名稱,我輸入的是SQL2K8

若想換安裝路徑可在此畫面就進行修改














接下來會檢查你的磁碟空間是否足夠














接下來是每個服務啟動帳戶的設定
畫面因我已自訂了一些本機User帳戶作為啟動帳戶,並將啟動類型都改為Manual手動,因為我不想電腦一起動就自動啟動了SQL Server 2008

本 次安裝最後失敗了,所以我移除SQL Server 2008重新安裝一次並將此畫面的啟動帳戶都先改為本機系統帳戶也就是NT AUTHORITY\SYSTEM後就安裝成功了,此問題我仍未找到解答,所以若要順利安裝請先以本機系統帳戶也就是NT AUTHORITY\SYSTEM來設定















定序
自動帶出的是Windows定序















帳戶提供Account Provisioning
可選擇Windows整合或混合模式,若選了混合模式則要提供一組sa的密碼

指定SQL Server管理員
按一下 [加入目前使用者]Add Current user,
將目前登入系統的使用者加入SQL Server管理員















檢查一下資料目錄位置















預設不啟動FILESTREAM功能















Analysis Service
也將目前登入系統的使用者加入為AS的管理員















確認一下AS的目錄位置















Reporting Service
我選擇第1個自動設定
可選擇第3個安裝但不設定,可以後再自行設定















是否回報微軟錯誤















System Configuration Checker
再次執行















準備安裝
顯示所有安裝摘要資訊















開始安裝

2009年5月27日 星期三

Use User-Defined Functon for default constraint使用Function產生自訂的自動編號欄位

開發人員需要每日Import大量資料,想改用SSIS產生package排程執行,但有一個流程目前是用EXCEL完成的,第一個欄位要自訂格式,年月加上流水號(例如200805000001),希望我在SSIS找到解決方案,當我聽到時第一個想法是透過T-SQL User-Defined Function與default contraint來完成這個需求,果然在google上找到類似的寫法,以下是我改寫後的demo code

--STEP1.Create test database
Use master
GO
CREATE DATABASE TESTDB
GO


--STEP2.Create T-SQL User-Defined Function
-- 在Code裡面已經指定要從這個資料表dbo.autoIDTable取得最大的流水號

USE TESTDB
GO
CREATE FUNCTION GetNewAutoID
(
-- Add the parameters for the function here
--@p1 char(4)
)
RETURNS char(12)
AS
BEGIN
-- Declare the return variable here
DECLARE @ResultVar Char(12)
Declare @MaxValue int
Set @MaxValue=0
Select @MaxValue=Cast(Right(autoid,6) as int) from dbo.autoIDTable
Set @MaxValue=@MaxValue +1
Set @ResultVar=LEFT(cast(convert(varchar , GETDATE(), 112) as varchar ),6) + Right(('00000'+Ltrim(str(@maxValue))),6)
-- Return the result of the function
RETURN @ResultVar
END
GO

--STEP3.Create dbo.autoIDTable Table use default constraint
Create table dbo.autoIDTable
(
autoid char(12) default dbo.GetNewAutoID(),
Data varchar(50)
);

-- STEP4.Try to select fucntion dbo.GetNewAutoID()
SELECT dbo.GetNewAutoID()

-- STEP5.Insert test data
insert into dbo.autoIDTable(Data) values('haha')
insert into dbo.autoIDTable(Data) values('wawa')
insert into dbo.autoIDTable(Data) values('gaga')

-- STEP6.select dbo.autoIDTable
select * from dbo.autoIDTable

-- STEP7.drop test database
USE master
GO
DROP DATABASE TESTDB
GO

2009年5月26日 星期二

Windows Script 5.7 for Windows 2000, Windows XP and Windows 2003

Windows Script 5.7
(Windows XP SP3, Vista, Windows 2008已內建但版本好像有點不同)
Script若出現效能問題可以考慮安裝此版本

File Name: scripten.exe
Version: 5.7.0.16535
Date Published: 8/24/2007
Language: English
Download Size: 64 KB - 1.1 MB*

Microsoft download link:

Windows Script 5.7 for Windows 2000

Windows Script 5.7 for Windows XP

Windows Script 5.7 for Windows 2003

2009年5月15日 星期五

SQL Server 2008 Books Online 線上叢書 January 2009

SQL Server 2008 Books Online 線上叢書 January 2009
[英文]
Microsoft SQL Server 2008 Books Online (January 2009)
Quick Details
File Name: SQLServer2008_BOL_January.msi
Version: 10.00.1601.22
Date Published: 1/30/2009
Language: English
Download Size: 144.1 MB

[繁體中文]
Microsoft SQL Server 2008 線上叢書 (2009 年 1 月)
快速明細
檔案名稱: SQLServer2008_BOL_January2009_CHT.msi
版本: 10.00.1601.22
發佈日期: 2009/2/11
語言: 繁體中文
下載項目大小: 165.0 MB

SQL Server 2005 Books Online 線上叢書2009年2月更新版

SQL Server 2005 Books Online 線上叢書2009年2月更新版
內容與2008年11月相同,主要修正錯誤與新增和更新主題的清單

[繁體中文]
SQL Server 2005 線上叢書 (2008 年 11 月) 2009-02-17 發佈

[英文]
SQL Server 2005 Books Online (November 2008) 2009-02-09 Published

2009年5月14日 星期四

在Vista安裝Enterprise Manager 主控台(Enterprise Manager 10g Java Console)

下載安裝Oracle Client (10203_vista_w2k8_x86_production_client.zip)
Oracle Database 10g Release 2 (10.2.0.3/10.2.0.4)
Enterprise/Standard Edition for Microsoft Windows Vista and Windows 2008


選擇 管理員(804MB)
管理主控台,管理工具,網路服務,共用程式,基本從屬軟體

本位目錄名稱選擇預設的
OraDb10g_home1
路徑保留預設的
C:\oracle\product\10.2.0\db_1

安裝完成
啟動Net Manager
開始\所有程式\Oracle - OraDb10g_home1\組態設定和移轉工具\Net Manager
在資料庫服務項目
新增一個資料庫讓Listener可以為它連接









以管理員模式啟動Enterprise Manager 主控台
開始\所有程式\Oracle - OraDb10g_home1\組態設定和移轉工具\Net Manager
輸入帳號密碼即可連線使用Enterprise Manager 主控台來管理Oracle

在Vista安裝Oracle 10gR2時Database Control(Web EM)配置失敗的解決方式

我的環境是Vista Business Edtion With SP1,IE 8
我所使用的安裝程式是10203_vista_w2k8_x86_production_db.zip
可到以下官方網址下載:
Oracle Database 10g Release 2 (10.2.0.3/10.2.0.4)
Enterprise/Standard Edition for Microsoft Windows Vista and Windows 2008


安裝到最後出現配置EM錯誤
會出現類似以下的訊息
嚴重的: 無法解除鎖定所有 EM 相關帳戶
請參閱位於 C:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log 的日誌檔以瞭解詳細資訊.

開啟emConfig.log發現可能是sys,system,sysman等帳戶的特殊字元的密碼問題,
可用以下方式修改為簡單密碼

c:\sqlplus "/as sysdba"
SQL>select username from dba_users;
SQL>alter user sys identified by NEW_PASSWORD;
SQL>alter user system identified by NEW_PASSWORD;
SQL>alter user sysman identified by NEW_PASSWORD;
SQL>alter user dbsnmp identified by NEW_PASSWORD;
將密碼修改為NEW_PASSWORD(不要用特殊字元)
SQL>quit

c:\SET ORACLE_HOME=C:\oracle\product\10.2.0\db_1
c:\SET ORACLE_SID=ORCL
c:\cd oracle\product\10.2.0\db_1\bin
c:\oracle\product\10.2.0\db_1\bin\emca.bat -config dbcontrol db
過程中需輸入sys,dbsnmp,sysman的密碼

出現以下文字表示設定完成
已順利完成 Enterprise Manager 組態
完成 EMCA 於 2009/5/14 上午 11:20:57

Service Manager多會出現一個OracleDBConsoleORCL









用管理員模式開啟瀏覽器連線到下面網址
http://本機主機名稱或FQDN:1158/em
若出現登入畫面表示成功

如何防止資料表被意外刪除(Prevent table from accidental removing in SQL Server)

最近被問到一個問題,如何防止資料表被意外刪除
有兩種方式:
第一種是DBA的慣用的老技巧Create View With SchemaBinding
第二種是SQL Server 2005才開始有的DDL Trigger

[方法1] SchemaBinding
-- 新增demo資料庫
USE master
GO
CREATE DATABASE MyDB
GO

-- 新增一個測試客戶資料表
USE MyDB
GO
CREATE TABLE dbo.customer
(
cust_id int PRIMARY KEY,
cust_name varchar(20),
cust_telephone varchar(20)
);
GO

-- 新增一個使用SCHEMA BINDING的VIEW
CREATE VIEW dbo.vCustomer
WITH SCHEMABINDING
AS
SELECT [cust_id]
,[cust_name]
,[cust_telephone]
FROM [dbo].[customer]
GO

-- 無法移除資料表(因資料表已被vCustomer所referenced)
DROP TABLE customer
GO

-- 無法移除現有的欄位(已被vCustomer所referenced)
ALTER TABLE [dbo].[customer]
DROP COLUMN cust_telephone ;
GO

-- 可新增欄位
ALTER TABLE [dbo].[customer]
ADD cust_Address VARCHAR(20) ;
GO

-- 可移除未被vCustomer所referenced的欄位
ALTER TABLE [dbo].[customer]
DROP COLUMN cust_Address ;
GO

-- 移除demo資料庫
USE master
GO
DROP DATABASE MyDB
GO

[方法2] DDL Trigger
-- 新增demo資料庫
USE master
GO
CREATE DATABASE DEMO_DDL_TRIGGER
GO

-- 新增2個測試資料表
USE DEMO_DDL_TRIGGER
GO
CREATE TABLE dbo.customer
(
cust_id int PRIMARY KEY,
cust_name varchar(20),
cust_telephone varchar(20)
);
GO

CREATE TABLE dbo.orders
(
order_id int PRIMARY KEY,
product_name varchar(20)
);
GO

-- 新增一個Production Table的資料表
CREATE TABLE dbo.ProductionTable
(
prodtable_id int PRIMARY KEY,
table_name varchar(50)
);
GO

-- INSERT一筆customer
INSERT INTO dbo.ProductionTable
VALUES(1,'customer');
GO

SELECT * FROM dbo.ProductionTable;
GO

-- 新增一個DDL Trigger on Database level
CREATE TRIGGER [Tgr_ChkProductionTable]
ON DATABASE
FOR DROP_TABLE
AS
--PRINT 'You must disable DDL Trigger "[Tgr_ChkProductionTable]" to drop or alter tables!'
declare @tablename varchar(50)
SELECT @tablename = EVENTDATA().value
('(/EVENT_INSTANCE/ObjectName)[1]','nvarchar(max)')
IF EXISTS (SELECT prodtable_id FROM [ProductionTable] WHERE table_name=@tablename)
BEGIN
RAISERROR ('You must delete the record from ProductionTable or disable DDL Trigger "[Tgr_ChkProductionTable]" before you drop the table!',10, 1)
ROLLBACK
END
;
GO

-- 測試無法刪除資料表
DROP TABLE dbo.customer;
GO

-- 不在production_table資料表內有一筆紀錄則可被刪除
DROP TABLE dbo.orders;
GO

-- 移除DDL Trigger
DROP TRIGGER [Tgr_ChkProductionTable]
ON DATABASE
GO

-- 移除demo資料庫
USE master
GO
DROP DATABASE DEMO_DDL_TRIGGER
GO

2009年5月7日 星期四

交易記錄檔Transaction log大小的檢查清空與縮小

-- 檢查交易紀錄檔(Transaction log)的大小與使用量
DBCC SQLPERF(logspace)
GO

-- 查詢資料庫檔案與交易紀錄檔(Transaction log)檔的邏輯名稱
USE MyDB
GO
EXEC sp_helpfile
GO

-- 清空交易紀錄檔(Transaction log)
BACKUP LOG MyDB WITH TRUNCATE_ONLY
GO

-- 縮小交易紀錄檔(Transaction log)到200MB
USE MyDB
GO
DBCC SHRINKFILE ('MyDB_Log', 200)
GO

Vista與XP無法正常安裝使用Oracle JInitiator問題

[問題]
Vista裝完Oracle JInitiator後一開啟IE或firefox連到程式網頁就會自動關閉瀏覽器,
另外某些狀況下Windows XP裝完Oracle JInitiator也會有此狀況

[Workaround]
1.安裝JDK6.0以上(Java SE Development Kit)

http://java.sun.com/javase/downloads/index.jsp
JDK 6 Update 13

2.複製jvm.dll到JInitiator目錄
copy
C:\Program Files\Java\jdk1.6.0_13\jre\bin\client\jvm.dll
to
C:\Program Files\Oracle\JInitiator 1.3.1.22\bin\hotspot\

3.修改JInitiator的font.properties檔
將此目錄C:\Program Files\Oracle\JInitiator 1.3.1.22\lib\下的
font.properties.zh.5.0 改成 font.properties.zh.6.0
font.properties.zh.5.1 改成 font.properties.zh.6.1

reference:
1.http://www.wretch.cc/blog/prajina/11814705
2.http://www.itpub.net/816450.html

2009年5月6日 星期三

微軟提供免費Windows XP與Vista搭配各種IE版本的VHD(VM)

Windows XP的到期日是2009/08/31
Vista的到期日4個月

點擊下面的連結到微軟官網下載
Internet Explorer Application Compatibility VPC Image

以下是節錄官網的說明
VPC Hard Disk Images for testing websites with different Internet Explorer versions on Windows XP and Windows Vista

[Quick Details]
Version: 4.2
Date Published: 5/5/2009
Language: English
Download Size: 50.6 MB - 5628.5 MB*
*Download size depends on selected download components.

[Overview]
This download page contains different VPC images, depending on what you want to test.
* IE6-XPSP3.exe contains a Windows XP SP3 with IE6 VHD file. Expires August 31, 2009
* IE7-XPSP3.exe contains a Windows XP SP3 with IE7 VHD file. Expires August 31, 2009
* IE8-XPSP3.exe contains a Windows XP SP3 with IE8 VHD file. Expires August 31, 2009
* IE7-VIS1.exe+IE7-VIS2.rar+IE7-VIS3.rar contain a Vista Image with IE7 VHD file. Expires 120 days after first run.
* IE8-VIS1.exe+IE8-VIS2.rar+IE8-VIS3.rar+IE8-VIS4.rar contain a Vista Image with IE8 VHD file. Expires 120 days after first run.
Note: For The Vista image, you will need files in that set, downloaded and in the same directory, then run the EXE in the root directory.

[System Requirements]
* Supported Operating Systems: Windows Server 2003; Windows Vista; Windows XP
You will need a minimum of 1.5 Gig hard drive space free to expand the VHD file.
You can download the latest version of Virtual PC at http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx.

Instructions
Once you have completed the download, double-click file to expand the VHD file. Start Virtual PC and create a new VPC, and point to the files you just expanded.

Top of page
Files in This Download
The links in this section correspond to separate files available in this download. Download the files most appropriate for you.
File Name: File Size
IE6-XPSP3.exe 464.7 MB
IE7-VIS1.exe 700.0 MB
IE7-VIS2.rar 700.0 MB
IE7-VIS3.rar 590.5 MB
IE7-XPSP3.exe 560.8 MB
IE8-VIS1.exe 50.6 MB
IE8-VIS2.rar 700.0 MB
IE8-VIS3.rar 700.0 MB
IE8-VIS4.rar 687.9 MB
IE8-XPSP3.EXE 474.0 MB

SQL Server Database Mirroring 資料庫鏡像

SQL Server Database Mirroring 資料庫鏡像