sqlserver2008分布式
很多組織機構慢慢的在不同的伺服器和地點部署SQL Server資料庫——為各種應用和目的——開始考慮通過SQL Server集群的方式來合並。
將SQL Server實例和資料庫合並到一個中心的地點可以減低成本,尤其是維護和軟硬體許可證。此外,在合並之後,可以減低所需機器的數量,這些機器就可以用於備用。
當尋找一個備用,比如高可用性的環境,企業常常決定部署Microsoft的集群架構。我常常被問到小的集群(由較少的節點組成)SQL Server實例和作為中心解決方案的大的集群哪一種更好。在我們比較了這兩個集群架構之後,我讓你們自己做決定。
什麼是Microsoft集群伺服器
MSCS是一個Windows Server企業版中的內建功能。這個軟體支持兩個或者更多伺服器節點連接起來形成一個「集群」,來獲得更高的可用性和對數據和應用更簡便的管理。MSCS可以自動的檢查到伺服器或者應用的失效,並從中恢復。你也可以使用它來(手動)移動伺服器之間的負載來平衡利用率以及無需停機時間來調度計劃中的維護任務。
這種集群設計使用軟體「心跳」來檢測應用或者伺服器的失效。在伺服器失效的事件中,它會自動將資源(比如磁碟和IP地址)的所有權從失效的伺服器轉移到活動的伺服器。注意還有方法可以保持心跳連接的更高的可用性,比如站點全面失效的情況下。
MSCS不要求在客戶計算機上安裝任何特殊軟體,因此用戶在災難恢復的經歷依賴於客戶-伺服器應用中客戶一方的本質。客戶的重新連接常常是透明的,因為MSCS在相同的IP地址上重啟應用、文件共享等等。進一步,為了災難恢復,集群的節點可以處於分離的、遙遠的地點。
在集群伺服器上的SQL Server
SQL Server 2000可以配置為最多4個節點的集群,而SQL Server 2005可以配置為最多8個節點的集群。當一個SQL Server實例被配置為集群之後,它的磁碟資源、IP地址和服務就形成了集群組來實現災難恢復。
SQL Server 2000允許在一個集群上安裝16個實例。根據在線幫助,「SQL Server 2005在一個伺服器或者處理器上可以支持最多50個SQL Server實例,」但是,「只能使用25個硬碟驅動器符,因此如果你需要更多的實例,那麼需要預先規劃。」
注意SQL Server實例的災難恢復階段是指SQL Server服務開始所需要的時間,這可能從幾秒鍾到幾分鍾。如果你需要更高的可用性,考慮使用其他的方法,比如log shipping和資料庫鏡像。
單個的大的SQL Server集群還是小的集群
下面是大的、由更多的節點組成的集群的優點:
◆更高的可用新(更多的節點來災難恢復)。
◆更多的負載均衡選擇(更多的節點)。
◆更低廉的維護成本。
◆增長的敏捷性。多達4個或者8個節點,依賴於SQL版本。
◆增強的管理性和簡化環境(需要管理的少了)。
◆更少的停機時間(災難恢復更多的選擇)。
◆災難恢復性能不受集群中的節點數目影響。
下面是單個大的集群的缺點:
◆集群節點數目有限(如果需要第9個節點怎麼辦)。
◆在集群中SQL實例數目有限。
◆沒有對失效的防護——如果磁碟陣列失效了,就不會發生災難恢復。
◆使用災難恢復集群,無法在資料庫級別或者資料庫對象級別,比如表,創建災難恢復集群。
虛擬化和集群
虛擬機也可以參與到集群中,虛擬和物理機器可以集群在一起,不會發生問題。SQL Server實例可以在虛擬機上,但是性能可能會受用影響,這依賴於實例所消耗的資源。在虛擬機上安裝SQL Server實例之前,你需要進行壓力測試來驗證它是否可以承受必要的負載。
在這種靈活的架構中,如果虛擬機和物理機器集群在一起,你可以在虛擬機和物理機器之間對SQL Server進行負載均衡。比如,使用虛擬機上的SQL Server實例開發應用。然後在你需要對開發實例進行壓力測試的時候,將它災難恢復到集群中更強的物理機器上。
集群伺服器可以用於SQL Server的高可用性、災難恢復、可擴展性和負載均衡。單個更大的、由更多的節點組成的集群往往比小的、只有少數節點的集群更好。大個集群允許更靈活環境,為了負載均衡和維護,實例可以從一個節點移動到另外的節點。
2. 如何用SQL Server建立分布式資料庫
首先我們打開SQL SERVER自帶的資料庫管理工具,從開始菜單中可以找到,點擊進去;
開始連接SQL SERVER伺服器,就是我們裝好的SQL SERVER 伺服器;
右擊資料庫,選擇第一個,新建一個資料庫;
填寫資料庫的名稱(箭頭方向),下面是設置自動增長的,一般不用管,默認
點擊確定後就可以生成一個資料庫,此時裡面是沒有表的;
右擊表新建一個表,填寫你要的欄位名稱
填完欄位名稱後點擊欄位名稱那個內部窗口的小叉叉,然後就提示你輸入表名了,填寫下表名,一個資料庫的建立過程就是這樣的;
3. 關於SQL 2008安裝時已經有實例名稱。
1、實例名稱是一個sql server服務的名稱,可以為空或者任何名稱(英文字元),實例名稱不能重復。
2、 如果安裝時一直提示寫實例名稱,說明已經存在一個默認名稱的SQL Server實例,它使用了默認的空名稱。
3、一個實例,就是一個單獨的sql Server服務。如果你安裝了帶有指定賣出的sql server實例,可以在Windows服務列表中看到該實例的服務名稱。
4、連接資料庫時,必須指明資料庫實例名稱。比如,使用默認配置安裝了一個sql server後,它的實例名稱為空。
可以以如下方式連接sql server(asp的ado語法)connStr="driver={sql server};server=192.168.0.3;database=db1;uid=sa;pwd=password";
5、如果再次執行sql server安裝程序,並不會提示說已經安裝了sql server,而是在設置實例名稱時,讓用戶指定一個新的實例名稱,才能下一步,比如你寫了「testInstance2」。
連接該sql server時,需要如下方式(asp的ado語法)
connStr="driver={sqlserver};server=192.168.0.3 estInstance2;database=db1;uid=sa;pwd=password";
6、卸載sql server時,可以選擇卸載一個sql server 實例。
(3)sqlserver2008分布式擴展閱讀:
SqlServer特點:
1.真正的客戶機/伺服器體系結構。
2.圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單。
3.豐富的編程介面工具,為用戶進行程序設計提供了更大的選擇餘地。
4.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產品集成。
5.具有很好的伸縮性,可跨越從運行Windows 95/98的小型電腦到運行Windows 2000的大型多處理器等多種平台使用。
6.對Web技術的支持,使用戶能夠很容易地將資料庫中的數據發布到Web頁面上。
7.SQL Server提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。
SQL Server 2000與以前版本相比較,又具有以下新特性 :
1.支持XML(Extensive Markup Language,擴展標記語言)
2.強大的基於Web的分析
3.支持OLE DB和多種查詢
4.支持分布式的分區視圖
參考資料:網路——SqlServer
4. 怎麼理解SQL Server的分布式查詢
舉一個例子:
sql 客戶端在A伺服器上,資料庫實體在B伺服器上,大家登錄查詢的伺服器是A伺服器,實際上是經過資料庫sql解析將查詢語句分批發給B伺服器查詢,並將各結果在A伺服器進行篩選
5. SQL SERVER 分布式查詢
改成這樣:
select a.* from [A].[dbo].[A] a,l_lnk.[B].[dbo].[B] b where a.a=b.b
l_lnk是鏈接
我用下面的執行是對的:
exec sp_addlinkedserver 'l_lnk ', ' ', 'SQLOLEDB ', '192.168.4.136 '
exec sp_addlinkedsrvlogin 'l_lnk ', 'false ',null, 'read', 'read'
select a.* from [A].[dbo].[A] a,l_lnk.[B].[dbo].[B] b where a.a=b.b
exec sp_dropserver 'l_lnk ', 'droplogins '
6. 如何設置sqlserver2008訪問次數
一、跨資料庫訪問
第一種方式
SELECT * FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=遠程ip;User ID=sa;Password=密碼'
).庫名.dbo.表名
WHERE 條件
第二種方式
在sql server組->服務->安全性->鏈接伺服器下建立一個具有別名的鏈接伺服器。然後通過以下方式訪問:
SELECT * FROM [鏈接伺服器名].庫名.dbo.表名
WHERE 條件
需要注意的是建立鏈接資料庫伺服器類型如果選擇「SQL server」,那麼鏈接伺服器名稱必須用要鏈接的伺服器的在網路中的機器名或IP,如果要使用其它別名,可以在WINDOWS\system32\drivers\etc\hosts文件里添加一個別名的映射。
解除SQL阻止(sqlserver 2005情況)
SQL Server 阻止了對組件 『Ad Hoc Distributed Queries』 的 STATEMENT』OpenRowset/OpenDatasource』 的訪問,因為此組件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 『Ad Hoc Distributed Queries』。有關啟用 『Ad Hoc Distributed Queries』 的詳細信息,請參閱 SQL Server 聯機叢書中的 「外圍應用配置器」。
因為SQL2005默認是沒有開啟』Ad Hoc Distributed Queries』 組件,開啟方法如下
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
關閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries', 0
reconfigure
exec sp_configure 'show advanced options', 0
reconfigure
二、分布式事務的配置
1.用DTCPing.exe工具測試兩台機器的DTC服務是否可以聯通。
2.如果有問題檢查MSDTC服務是否啟動。
3.MSDTC依賴於RPC,RPC使用的埠是135,測試135埠是否打開.是否有防火牆?如果有先關了防火牆. telnet IP 135 如果是關閉的打開它.
4.打開「控制面板->管理工具->組件服務」,然後展開「組件服務->計算機->我的電腦」右鍵屬性。選擇MSDTC的Tab欄,點擊安全性配置按鈕,打開窗口,將「網路DTC訪問」選項選中,並將「允許遠程客戶端」,「允許入站」,「允許出站」都選中,並選擇「不要求進行驗證」,「啟用事務Internet協議(TIP)事務」,「啟用XA事務」都選中。然後確定即可。(以上選項windows默認不開放,必須配置)
5.檢查你的兩台伺服器是否在同一個域中. 如果不在同一個域中,是否建立可信任聯接.
6.如果是WIN2000,升級到SP4
7.確認MDAC版本是2.6以上,最好是2.8.
8.在SQL server存儲過程中使用分布式事務時,必須SET XACT_ABORT ON --設置分布式事務如果發生問題主動回滾操作
9.可以聲明使用BEGIN DISTRIBUTED TRANSACTION,如果未明確生明,在事務塊中包含鏈接伺服器的訪問,SQL server會自動升級成分布式事務。
7. 微軟的SQL Server資料庫支持分布式應用嗎
當然,SQL SERVER本身就是一個資料庫伺服器,自然支持分布式應用
8. 如何用SQL Server建立分布式資料庫
http://www.th7.cn/db/mssql/201312/37649.shtml
這里有個建立分布式資料庫的圖文教程,你自己參考下進行配置吧
9. 什麼叫分布式事務,在SQL Server中如何配置
MSDTC(Microsoft Distributed Transaction Coordinator)中文叫微軟分布式事務處理協調器,負責WINDOWS平台的分布式事務處理。SQL SERVER的事務如果需要和本資料庫之外(包括別的資料庫)的事務協同完成同一個事務,那麼就需要MSTDC來掌控,否則SQL SERVER的事務就是普通的本地資料庫事務,和MSDTC沒有關系,資料庫自身就能處理了。
很多組織機構慢慢的在不同的伺服器和地點部署SQL Server資料庫——為各種應用和目的——開始考慮通過SQL Server集群的方式來合並。
將SQL Server實例和資料庫合並到一個中心的地點可以減低成本,尤其是維護和軟硬體許可證。此外,在合並之後,可以減低所需機器的數量,這些機器就可以用於備用。
10. SQL SERVER 2008 資料庫自動備份到哪裡去了備份之後,原始數據是不是就自動刪除了
原始數據不會被刪除。都是要手動刪除的。 自動備份 是一個功能,需要自己去設置備份目錄的...