⑴ sqlserver資料庫最大連接數是多少
打開 SQL Server Management Studio Express 使用超級用戶登錄。
輸入如下指令:
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
select value from master.dbo.sysconfigures where [config]=103
--第二次設置用戶並發連接200
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 200
select value from master.dbo.sysconfigures where [config]=103
返回結果
100
200
也就是說 你設置成100 就100,設置成200就200, 最大是 32767, 設置成 0 就是32767.
0 表示不受限。但是 sql檢索是返回0的。
---
以上只是理論:
實際上一般的小型伺服器 能並行 60 就相當了不起了。
至強八核的CPU ,8G伺服器內存 ,2003 系統 ,設置成 0 ,採用壓力測試了一番 最高也就 104上下。跟操作系統和硬體配置有關系的。
⑵ VB訪問WINCC的過程歸檔資料庫 如何連接及查詢望大蝦指教
從WINCC6.0開始,就開始採用SQL3000SP3做為WINCC的後台數據了.而這個SQL2000SP3是由SIEMENS為WINCC做了二次開發的,採用了一些獨有的技術,一些是我們知道的,一些是我們所不知道的.所以當我們打開SQL管理器和用高級語言訪問時,和常規的SQL訪問的方法是有一些出入的.即使我們能夠很輕易的訪問ACCESS,普通的SQL2000的資料庫,不見的你就能順利的訪問到WINCC的歷史數據. 官方的資料顯示: 1:WINCC的數據有設計時資料庫和運行時資料庫,分別放在相關的目錄,對於數據使用者而言,我們知道就可以了.設計時資料庫我們了解沒有什麼意義.但運行時資料庫至少我們要知道它的名.他的名一般是"CC_工程名_年_月_日_時_分_秒R"的名,這個對於我們使用者而言,是很重要的的,無論你准備以DSN或OLEDB的方式訪問資料庫,你都需要它.如果你實在不知道它的名,你可以將WINCC激活,然後在'ODBC管理器"或"SQL企業管理器下的"DATABASE"可以看到它,它就蹲在那裡..... 2:運行時庫的表的問題. 其實,這個是很多的用戶很關心的問題,包括我自己在內.常規的使用過高級語言訪問SQL的技術人員都知道,很多的SQL語句,如SELECT ,INSERT INTO等等,都需要指明在某一庫的表中對它進行操作.因此,這個表的問題可能就是你訪問SQL的攔路虎. 先告訴大家:WINCC6.0的SQL庫操作是不需要表名的,因為他有自己定義的SQL語句.細節一會兒在描述. 其實,WINCC在運行時,根據WINCC的設置,數據歸檔是以一定時間做為基準,形成數據片段. 大體上有三個用戶需要了解的表. 在數據片段下,有三個表是我們所關心的 1:ARCHIVE(用戶歸檔記錄) 2:TAGPRESSED(TAGUNPRESSED)(壓縮/非壓縮變數歸檔記錄) 3:MSARCLONG(報警記錄) 事實上,我們在操作數據時,還是並不能直接使用常規的SQL來操作這些表,甚至不允許修改它,MSARCLONG情況好一些,允許插入/修改等. TAGPRESSED的數據和WINCC內設置的變數管理下的歸檔是對應的, MSARCLONG的數據和WINCC內設置的報警記錄下的設置是對應的. ARCHIVE的數據和WINCC內的用戶歸檔數據是對應的. 一般的,當我們使用WINCC製作在線表格和在線趨勢使用的都是變數管理器下的歸檔. 因此,我們打開TAGPRESSED的表,可以看到的一些都是變數記錄的內容,通常也是在這里歸檔了用戶的生產數據.因此,我們訪問WINCC歷史資料庫,實際上是訪問這里的變數記錄 3:訪問歷史資料庫的方法/連接字元/SQL語句 訪問資料庫的方法: A:WINCCOLEDB訪問壓縮歸檔,也可以訪問非壓縮歸檔 B:MS ADO/OLEDB只能訪問非壓縮歸檔對於這種說法,我只嚴正了WINCCOLEDB的方法,後者沒有測試. 連接字元: WINCCOLEDB的連接字元為(本地): provider=winccoledbprovider.1,catalog=.\wincc,data source= 資料庫名,user id=DBA,password=SQL 對於遠程連接,因為沒有條件測試,所以就不說了,希望有哪位朋友日後通過了測試,到這里告訴一下現在開始講訪問用戶歸檔,過程值歸檔和消息歸檔的方法和語法: 1:查詢過程值歸檔和消息歸檔的連接字元串 SET CON=Createobject("adodb.connection") con.open Provider=winccoledbprovider.1;catalog=cc_工程名_年_月_日_時_分_秒R,data source=.\wincc,user id=DBA,password=SQL 說明:按照WINCC規定的連接字元串,創建到資料庫的連接,並且打開這個連接.其中,我們經常需要修改的是Catalog的值,這個值根據不同的工程和創建的時間不同,我們可以在ODBC管理器下或SQL的庫中看到. 查詢過程值歸檔和用戶歸檔的SQL語句 TAG:R,'變數名1','起始時間','終止時間' where條件說明:WHERE子句只對用戶歸檔有效,對過程值歸檔無效.變數名:這個變數名要和WINCC下的變數管理器的過程值歸檔名要一致.其格式為:歸檔名/變數名.起始時間和終止時間可以用相對時間和絕對時間,一般絕對時間比較容易理解,就是從開始時間到終止時間就好了.例如,查詢從2006/3/12 12:20:20秒到2006/3/13/ 12:20:20秒的數據,則應該寫成'2006-3-12 12:20:20' '2006-3-13 12:20:20'就好了.當然拉,也可以用相對時間格式,就是比目前時間的相對值,有個前移後移的問題,很簡單的. 這里特別需要注意的是:記錄到SQL資料庫的時間都是格林威治時間,和中國的東8區有8個小時的時間差,也就是說記錄的時間比本機PC時區晚8小時,這一點我們在測試是尤其重要.因為你是時間不正確,可能數據就沒有顯示,而導致你懷疑連接/命令/記錄的有效性訪問SQL資料庫的方法過程描述. 這和訪問普通的資料庫的方法大致上是相同,唯一的就是由於WINCC的數據是經過了壓縮的. 1:定義連接字元串,就是前面所講到的. 2:創建ADODB的CONNECTION對象,在VB中直接用CREATEOBJECT(ADODB.CONNECTION)函數,在ASP的VB腳本中,需要使用內置SERVER對象創建CONNECTIONG對象. 3:打開到資料庫的連接,使用CONNECTION的OPEN函數 4:創建COMMAND對象,並定義COMMAND對象採用用CMDTEXT方法,表明將要使用命令文本的方式來獲取數據記錄. 5:創建RECORDSET對象,並用COMMAND對象的返回記錄集填充這個記錄集. 6:RECORDSET對象的數據就可以被你任意的使用了
⑶ 請問資料庫連接的3種方法有哪3種啊
1、運行資料庫DSN
WinCC內部變數:@DatasourceNameRT,如:CC_MyTest_06_04_08_09_05_14R
2、普通連接的ConnectionString
(1)連接運行資料庫
strSQL="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CC_MyTest_06_04_08_09_05_14R;Data Source=.\WINCC"
(2)連接其它資料庫,如:Northwind
strSQL="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=.\WINCC"
註:普通連接方式下,所有標準的SQL語句都可以使用。
3、歸檔資料庫的ConnectionString
strSQL="Provider=WinCCOLEDBProvider.1;Catalog=CC_MyTest_06_04_08_09_05_14R;Data Source=.\WinCC"
在此連接方式下,只能用WinCCOLEDBProvider提供的方法訪問歸檔資料庫:
(1)單個歸檔變數查詢:(2)多個歸檔變數查詢:
⑷ sqlserver資料庫最大連接數是多少
設置最大連接數
下面的T-SQL 語句可以配置SQL Server 允許的並發用戶連接的最大數目。
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
第一句用以表示顯示sp_configure 系統存儲過程高級選項,使用user connections 時,要求show advanced options 值為1。
第二句配置最大連接數為100,0 表示不限制,但不表示無限,後面將談談。
也可以在企業管理器中配置,在企業管理器中,可以在實例上點右鍵->「屬性」->「連接」裡面更改。
需要重新啟動SQL Server,該值才會生效。
@@max_connections
select @@max_connections
它總是返回32767,它並不是指上面設置的user connections,實際上它表示user connections 最大可設置為多少。由於它的最大值是32767,那麼user connections 為0 時,最大連接數也就是32767 了,並不是無限。
默認情況下user connections 值是0,也就是說默認情況下SQL Server 的最大連接數是32767。
獲得當前設置的最大連接數:
select value from master.dbo.sysconfigures where [config]=103