網頁

顯示具有 SQL Server 標籤的文章。 顯示所有文章
顯示具有 SQL Server 標籤的文章。 顯示所有文章

2012年11月15日 星期四

如何查詢SQL Server目前連線數

有朋友問說,要如何查詢 SQL Server 目前的連線數,當下直覺這應該是屬於master DB內會提供的資訊,於是上網找找資料,將試出來的語法記錄備忘一下。

查詢目前連線數:
USE master SELECT cntr_value AS User_Connections FROM sys.sysperfinfo AS sp WHERE sp.object_name='SQLServer:General Statistics' AND sp.counter_name='User Connections'

查詢目前連線明細:
USE master SELECT c.session_id, c.connect_time, s.login_time, c.client_net_address, s.login_name, s.status FROM sys.dm_exec_connections c left join sys.dm_exec_sessions s on c.session_id = s.session_id

Reference
sys.sysperfinfo
sys.dm_exec_connections
sys.dm_exec_sessions
閱讀全文...

2012年11月1日 星期四

OLE DB Provider for SQL Server

備份一下,不然每次要設定都要找半天
For Standard security:
connectStr = _T("Provider=sqloledb;Data Source=MyServerName;" "Initial Catalog=MyDatabaseName;" "User Id=MyUsername;Password=MyPassword;");
For Trusted Connection security (Microsoft Windows NT integrated security):
connectStr = _T("Provider=sqloledb;Data Source=MyServerName;" "Initial Catalog=MyDatabaseName;" "Integrated Security=SSPI;");
If you want to connect to a "Named Instance" (SQL Server 2000), you must to specify Data Source=Servere Name\Instance Name like in the following example:
connectStr = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;" "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");
If you want to connect with a SQL Server running on the same computer, you must specify the keyword (local) in the Data Source like in the following example:
connectStr = _T("Provider=sqloledb;Data Source=(local);" "Initial Catalog=myDatabaseName;" "User ID=myUsername;Password=myPassword;");
To connect to SQL Server running on a remote computer (via an IP address):
connectStr = _T("Provider=sqloledb;Network Library=DBMSSOCN;" "Data Source=10.200.3.18,1433;" "Initial Catalog=MyDatabaseName;User ID=MyUsername;" "Password=MyPassword;");
閱讀全文...

2012年10月24日 星期三

[資料庫] SQL Server Expres(SQL Server免費版本)

最近需要用到,查了一下資料才發現 SQL Server 2012 Express 居然還分三個版本:
1. SQL Server Express
以 Microsoft SQL Server 為基礎的資料庫平台。SQL Server Express 可讓您輕鬆地開發功能豐富、提供強化儲存安全性而且部署快速的資料導向應用程式。

2. SQL Server Express with Tools
除了 Express 的功能,還多了圖形化管理工具(SQL Server Management Studio)。

3. SQL Server Express with Advanced Services
除了 Express 的功能,還多了圖形化管理工具(SQL Server Management Studio)、Reporting Services、BI Development Studio(提供整合式報表建立與設計環境來建立報表)、全文檢索搜尋,用於搜尋大量文字資料的強大搜尋引擎。

建議:
1. 若是用在開發資料庫程式,可以選用SQL Server Express with Tools版本。
2. 除了開發資料庫程式,還包含開發Reporting Services 報表時,請選用SQL Server Express with Advanced Services版本。
3. 若是要佈署資料庫程式到客戶電腦上,無需使用Reporting Services 報表,可以使用SQL Server Express版本,但建議使用SQL Server Express with Tools版本,畢竟有管理工具比較方便。

Express 版本的硬體限制
1. CPU:最多支援 1 顆實體 CPU。
2. 記憶體:最多支援到 1 GB。
3. 每個資料庫的最大大小為:10 GB(先前版本:SQL Server 2005 與 2008 的 Express 版本支援到 4 GB),應該夠一堆資料量不大的軟體或網站使用了,真是佛來心的。


詳細資料請參考 SQL Server 2012 版本支援的功能
閱讀全文...

2012年5月16日 星期三

MS SQL Server 如何建立 Linked Server 連接 Oracle

因為專案的需求,所以研究了一下如何在 SQL Server 建立 Linked Server 連接 Oracle。
寫下此篇記錄,方便以後忘記時可以參考。

1. 首先要安裝 Oracle Client ,並設定好 tnsnames.ora ,其中的 NET_SERVICE_NAME 在建立 Linked Server 時會用到。
例:tnsnames.ora
NET_SERVICE_NAME =
    (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = YourDbIP)(PORT = YourDbPort))
    )
    (CONTECT_DATA =
        (SERVICE_NAME = YourServiceName)
    )
)


2. 建立 Linked Server
開啟 Microsoft SQL Server Management Studio 來新增連結的伺服器。

在一般頁面中各欄位填入資料:
連結的伺服器: 填入這個連結的名稱,例: ORACLELNK
伺服器類型,請選擇其他資料來源。
提供者: 請選擇 Microsoft OLE DB Provider for Oracle
產品名稱: 填 oracle
產品來源: 請填入你在 tnsnames.ora 設定的網路服務名稱(NET_SERVICE_NAME)

切換至 安全性 頁面
請選擇 使用此安全性內容建立,並在遠端登入欄位填入帳號,指定密碼欄位填入登入密碼後,按 確定 ,即可以建立 Linked Server 。

3. 測試連線是否正常

成功就會顯示成功的訊息,如

4. 查詢測試
SELECT * FROM OPENQUERY(ORACLELNK, 'SELECT * FROM YourTable')

閱讀全文...