❶ sqlServer2008中文版標准教程的序言
前 言
隨著各種大型資料庫處理系統的發展以及商業網站對數據可靠性和安全性要求的不斷提高,市場競爭日益激烈,陳舊的資料庫管理服務已經無法滿足用戶的需求。在這種環境下,Microsoft公司發布了Microsoft SQL Server 2008資料庫,它是該公司數據平台的主要部分,是可信任、高效、智能的數據平台,旨在滿足管理和使用數據的需求。SQL Server 2008有許多新特性和關鍵改進,這使它成為迄今為止最強大、最全面的SQL Server版本。
本書循序漸進地介紹了從入門到深入掌握SQL Server 2008所需的各個方面。 第1章 資料庫與SQL Server 2008簡介:介紹資料庫的基礎知識和SQL Server 2008的入門知識,包括SQL Server 2008的特性、體系結構、安裝方法以及附帶的管理工具和配置方法等。
第2章 數據查詢和管理:介紹操作數據的4種基本語句,即SELECT、INSERT、UPDATE和DELETE。
第3章 管理資料庫:介紹SQL Server 2008資料庫的創建、配置和管理,數據快照的創建、修改和相關說明等。
第4章 管理表:介紹創建、設計和管理表的相關知識,包含數據類型、列屬性和表數據完整性等。
第5章 使用Transact-SQL編程:介紹Transact-SQL語言基礎、常用函數和SQL Server 2008中Transact-SQL語言的增強功能等。
第6章 使用XML查詢技術:介紹SQL Server 2008中XML數據類型及其提供的方法、XQuery的使用、嵌套XML查詢、OPENXML函數等。
第7章 存儲過程與觸發器:詳細介紹存儲過程和觸發器這兩個重要的資料庫對象。包括創建存儲過程、使用存儲過程、管理存儲過程、觸發器的概念、DML觸發器和DDL觸發器等。
第8章 操作架構、索引和視圖:詳細介紹SQL Server 2008中架構、索引和視圖的概念以及如何創建和管理架構、索引和視圖,還介紹了如何使用視圖更新表中的數據。
第9章 SQL Server 2008的安全機制:主要介紹SQL Server 2008的安全性機制。包括選擇登錄模式、創建角色、創建用戶和許可權分配等。
第10章 SQL Server 2008備份與恢復:介紹資料庫備份、恢復的含義,資料庫備份的類型、備份設備和復制資料庫等基本概念,以及如何創建備份和恢復資料庫。
第11章 使用.NET訪問SQL Server 2008:主要介紹ADO .NET資料庫連接技術,包括ADO .NET命名空間、創建資料庫連接,使用SqlCommand、SqlDataReader、DataSet、SqlDataAdapter對象等。
第12章 SQL Server 2008高級主題:主要介紹SQL Server 2008的高級內容,包括SMO、服務體系和代理服務等。 本書詳略得當,重點突出,理論與實踐結合,簡明實用,是一本優秀的SQL Server 2008中文版教程。
? 實驗指導 本書安排了豐富的「實驗指導」,以實例形式演示SQL Server 2008中文版的應用知識,便於讀者學習操作,同時方便教師組織授課內容。「實驗指導」加強了本書的實踐操作性。
? 豐富實例 本書結合10多個SQL Server 2008的應用實例,涵蓋了SQL Server的主要應用領域。
? 多媒體光碟 隨書光碟提供了全部案例的素材文件,為讀者的實際操作提供了完善的練習平台。 本書內容全面、結構完整、深入淺出、圖文並茂、通俗易懂、可讀性和可操作性強,並配有多媒體光碟。既適合作為各級院校學生學習SQL Server 2008資料庫的教材,也可作為應用和開發人員的參考資料。
❷ xml文檔轉換存儲到sql sever資料庫中
分無所謂,如果是你要的看著給吧。不知道你了解多少,我就盡量詳細點,羅嗦點。
表的設計完全是根據XML節點設計的,每一個節點信息都是表的一個欄位,每一個節點的屬性也要是一個表的欄位。
如果是用java寫首先需要導入幾個包
import java.sql.*; //估計一般的項目都是外包連接資料庫,所以用外包資料庫來講。
import java.io.*;
import javax.xml.parsers.*; //這個包是用來解析XML的
import org.w3c.dom.*; //工廠包
import org.apache.crimson.tree.*;//這個包是建立XML的包,也可以選擇不用,一般IDE不自帶,需要自己導入
//類也簡單寫一下吧
public class XmlToSql{
public static void main(string[] args){
//根據XML節點設計出的表欄位,我先假設有3個欄位
String id,username,password;
//建立資料庫連接,簡單方法連一下吧
Class.forName("com.microsoft.jabc.sqlserver.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename="資料庫名","登陸名","密碼");
//建立了連接後要用工廠去獲得Document,也就是你的XML
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();//建立一個新工廠
DocumentBuilder builder=factory.newDocumentBuilder();//工廠建立一個builder來管理Doc
Document doc=builder.parse(new FileInputStrem(new File("*****.xml"));//把你的XML進行解析放入Document類型文檔。這時候你的XML文檔節點就以樹的形式放入內存了(說白了就是你表的欄位),下面你要什麼就調用就行了。
//開始正式解析文檔
NodeList nodes=doc.getElementsByTagName("a");//從英文也看的出這是把名為a的節點的信息放入NodeList容器中。NodeList就是存放節點組的容器
for(int i=0;i<nodes.getLength(),i++){ //開始循環把你的節點信息插入你的SQL表中,我只需要把你要的欄位提取出來就行了。我們不是前面假定了一個屬性ID,兩個元素節點嗎?這里就來取出
Element node=(Element)nodes.item(i); //先做個元素對象,畢竟我們要的欄位都是元素節點
id=node.getAttributes().getNamedItem("id").getNodeValue(); //用這個方法取出XML中 屬性ID的內容放入ID欄位中,這個ID就是你SQL里的ID名了,最後插入就可以了。注意這里是提取屬性的方法
username=node.getElementsBtagName("username").item(0).getFirstChild().getNode.Value();//提取元素節點username的值放入欄位,.item(0)就是第一個這個欄位,如果就有一個可以不要。
password=node.getElementsBtagName("password").item(0).getFirstChild().getNode.Value();//都是元素節點,所以同樣的方法取出password的值
//好了我們要的3個表值都取到了,並放入了變數中。現在一個SQL語句插入表就行了,其實我很怕在JAVA中寫SQL,不能格式化, .NET就方便的多。都寫到這里了就寫完吧
sql="insert into a values("+id+"','"+username+"'+'"password+"')";
con.createStatement().executeUpdate(sql);
}catch(Exception e{e.printStackTrace();}
}
}
//好了,你的XL信息循環插入表中了,其實XML結構很關鍵,這里是但節點循環,有時候出現多子節點,或者非正規體那就要根據XML的結構來循環輸入了,不過大體方法和思路都是一樣的。由於直接就在這里寫的代碼,沒在IDE中寫,所以括弧匹配方面也許會出小問題,見諒
❸ SQLServer2008從入門到精通的目錄
第一篇SQLServer2008快速入門
第1章SQLServer2008簡介
1.1資料庫基礎知識
1.1.1資料庫概述
1.1.2資料庫模型
1.2關系資料庫
1.2.1關系資料庫概述
1.2.2關系資料庫術語
1.2.3完整性規則
1.3範式理論SNE.R模型
1.3.1範式理論
1.3.2E.R模型
1.4SQLServer2008概述
1.5SQLServer2008新增功能與特性
1.5.1報表服務
1.5.2集成服務
1.5.3LINQ語言
1.5.4增強XML功能
1.5.5增強Transact.SQL語言
1.5.6新增日期數據類型
1.5.7新增Hierarchyld類型
1.6安裝與配置
1.6.1安裝SQLServer2008
1.6.2配置SQLServer2008
1.7SQLServer2008管理工具
1.7.
1.7.2SQLServerManagementStudi0
1.7.3SOLServerProfiler
1.7.4SQLServer配置管理器
1.7.5ReportingServices配置管理器
1.7.6資料庫引擎優化顧問
1.7.7命令提示實用工具
第2章管理SQLServer2008安全
2.1安全機制
2.1.1SOLServer2008安全簡介
2.1.2SQLServer2008安全等級
2.2SQLServer2008驗證模式
2.2.1Windows身份驗證
2.2.2混合安全
2.2.3配置身份驗證模式
2.3SQLServer2008登錄
2.3.1系統登錄
2.3.2創建SQLServer登錄
2.3.3創建Windows登錄
2.4許可權
2.4.1許可權概述
2.4.2許可權類型
2.4.3操作許可權
2.5資料庫用戶
2.5.1資料庫用戶
2.5.2創建資料庫用戶
2.6管理角色
2.6.1伺服器角色
2.6.2資料庫角色
2.7管理伺服器角色
2.7.1將登錄指派到角色
2.7.2指派角色到多個登錄
2.8管理資料庫角色
2.8.1將登錄指派到角色
2.8.2標准資料庫角色
2.8.3應用程序角色
第3章SQLServer2008資料庫管理
3.1資料庫文件和日誌
3.2資料庫管理基礎
3.2.1系統資料庫
3.2.2常用資料庫對象
3.2.3資料庫快照簡介
3.3創建示例資料庫
3.3.1使用管理工具
3.32使用語句
3.4資料庫操作
3.4.1修改資料庫
3.4.2刪除資料庫
3.4.3查看資料庫狀態
3.5其他資料庫操作
3.5.1分離資料庫
3.5.2附加資料庫
3.5.3收縮資料庫
3.5.4復制和移動資料庫
3.5.5優化資料庫
3.6管理資料庫快照
第4章管理表
4.1表概述
4.1.1什麼是表
4.1.2臨時表和系統表.
4.1.3創建表
4.2列數據類型
4.2.1精確數字數據類型
4.2.2近似數字數據類型
4.2.3Unicode字元數據類型
4.2.4二進制數據類型
4.2.5時間和日期數據類型
4.2.6字元串數據類型
4.2.7其他數據類型
4.2.8創建自己的數據類型
4.3列的其他屬性
4.3.1NULL與NoTNULL
4.3.21DENTTY的應用
4.4維護數據表
4.4.1修改表
4.4.2修改列屬性
4.4.3添加/刪除表列
4.5資料庫完整性
4.5.1使用約束維護數據完整性
4.5.2使用默認值維護數據完整性.
4.5.3使用規則維護數據完整性
4.6表關系圖
第二篇Transact-SQL語言
第5章數據查詢和管理
5.1SELECT獲取簡單數據
5.1.1SELECT語法
5.1.2FROM子句
5.1.3WHERE子句
5.1.4ORDERBY子句
5.1.5GROUPBY子句
5.1.6HAVING子句
5.2SELECT操作多表數據
5.2.1JOIN連接
5.2.2內連接
5.2.3外連接
5.2.4交叉連接
5.2.5自連接
5.2.6聯合查詢
5.2.7使用子查詢
5.3插入SQL數據
5.3.1INSERT…VALUES語句語法
5.3.2使用INSERT…SELECT語句.
5.3.3使用SELECTINTO語句創建表
5.4更新SQL數據
5.4.1根據表中數據更新行
5.4.2根據其他表更新行
5.4.3使用TOP表達式
5.5刪除SOL數據
5.5.1使用DELETE語句
5.5.2使用TRUNCATETABLE語句
5.5.3刪除基於其他表中的行
第6章使用XML查詢技術
6.1XML查詢基礎
6.1.IXML數據類型
6.1.2XML據類型方法
6.1.3XQuery簡介
6.2FORXML子句
6.2.1FORXMLRAW
6.2.2FORXMLAUTO
6.2.3FORXMLEXPLICIT
6.2.4FORXMLPATH
6.25TYPE命令
6.2.6嵌套查詢
6.3其他XML技術
6.3.1XML索引
6.3.2OPENXML函數
第7章使用Transact-SQL編程
7.ITransact-SQL概述
7.1.1Transact-SOL簡介
7.1.2Transact-sOL的特點
7.1.3Transact-SOL的語法規范
7.2Transact-SOL的語言基礎
7.2.1常量與變數
7.2.2表達式
7.23運算符
7.2.4控制語句
7.3常用函數
7.3.1字元串函數
7.3.2數學函數
7.3.3聚合函數
7.3.4數據類型轉換函數
7.3.5日期和時間函數
7.4高級操作
7.4.1鎖
7.4.2游標
第三篇SQLServer2008資料庫開發
第8章存儲過程與觸發器
8.1存儲過程概述
8.1.1什麼是存儲過程
8.1.2存儲過程的特點
8.1.3設計存儲過程
8.2使用存儲過程
8.2.1創建存儲過程
8.2.2使用存儲過程參數
8.2.3執行存儲過程
8.2.4管理存儲過程
8.3觸發器概述
8.3.1觸發器定義
8.3.2觸發器的分類
8.4創建觸發器
8.4.1XML觸發器
8.4.2DDL觸發器
8.4.3嵌套觸發器
8.4.4遞歸觸發器
8.5管理觸發器
第9章操作架構、索引和視圖
9.1使用架構
9.1.1創建架構
9.1.2修改架構
91.3移動對象到新的架構
9.1.4刪除架構
9.2使用視圖管理表
9.2.1視圖概述
9.2.2創建視圖
9.2.3使用視圖連接表
9.3視圖修改數據
9.3.1插入數據
9.3.2更新數據
9.3.3刪除數據
9.4索引
9.4.1索引概述
9.4.2聚集索引
9.4.3非聚集索引
9.4.4XML索引
9.4.5確定索引列
9.5操作索引
9.5.1創建索引
9.5.2管理索引
9.5.3查看索引
9.5.4使用資料庫引擎優化顧問.
第10章事務
lO.1事務
10.l.l事務概述
10.1.2ACID屬性
10.1.3事務分類
10.1.4管理事務
10.2SQLServer2008本地事務支持
10.2.1自動提交事務模式
10.2.2顯式事務模式
10.2.3隱式事務模式
10.2.4批范圍的事務
10.3隔離級別
10.3.1SQLServel-2008中的隔離級別
10.3.2自定義事務隔離級別
10.4分布式事務
10.4.1Transact-SQL分布式事務
104.2MSDTC分布式事務
10.4.3分布式查詢和分布式事務
10.5高級事務主題
lO.5.1嵌套事務
10.5.2事務保存點
10.5.3使用綁定會話
IO.5.4調整事務隔離級別
10.5.5在存儲過程和觸發器中回滾和提交
10.5.6事務中禁用的Transact-SQL語句
lO.5.7編寫有效的事務
10.5.8管理長時間運行的事務
第四篇SQLServer2008資料庫管理
第11章備份與恢復資料庫
11.1備份概述
11.1.1了解備份
111.2資料庫備份和恢復體系結構及特性
11.1.3備份設備
11.2備份數據
ll.2.1創建備份設備
11.2.2管理備份設備
11.2.3完整備份
11.2.4差異備份
112.5事務日誌備份
11.2.6文件組備份
11.2.7備份到多個設備
11.2.8備份壓縮
11.3恢復數據
11.3.1標准恢復
11.3.2時間點恢復
11.4復制資料庫
第12章SQLserver2008資料庫自動化
12.1SQLServer2008自動化概述
12.2配置SOLServet代理
12.2.1SOLServer代理概述
12.2.2啟用SQLServer代理服務
12.2.3SQLSefiver代理服務安全性
12.3操作員
12.4作業
12.4.1作業概述
12.4.2創建作業
12.5警報
12.5.l警報概述
12.5.2事件警報
12.5.3性能警報
12.5.4WMI警報
12.6資料庫郵件
……
第五篇綜合實例
……
❹ 編寫一個存儲過程,用來解析該XML字元串 急急急
sqlserver有提供系統的procere來處理字元串格式的xml.
sp_xml_preparedocument @idoc output, @xmlstr
sp_xml_removedocument @idoc
注意他們呢的參數.
先定義@idoc,它是個int類型.
preparedocument 它的返回值是初始化的失敗的錯誤信息.
然後調用
select * from openxml(@idoc,'//節點名稱,2)
幾點名稱是xpath語法.
其他請去搜搜吧~
❺ 如何將xml文件導入sqlserver
SQLServer2005分解並導入xml文件[@more@]
1. 一次性導入:
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=BulkColumn FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT * into tmp_tab FROM OPENXML (@idoc, '/Root/Record'/',2)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc
select * from tmp_tab
2. 先導入到表中varchar(MAX)列,然後再用OPENXML解析,讀出。
-- 使用SINGLE_CLOB參數,tmp_raw中欄位為varcahr(MAX)類型
SELECT * into tmp_raw FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_CLOB) AS x
DECLARE @idoc int;
DECLARE @doc xml;
select @doc = BulkColumn from tmp_raw
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT top 10 * FROM OPENXML (@idoc, '/Root/Record', 1)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc
❻ xml文件如何寫入sql資料庫
sqlserver2005分解並導入xml文件[@more@]
1.
一次性導入:
declare
@idoc
int;
declare
@doc
xml;
select
@doc=bulkcolumn
from
openrowset(bulk
n'e:mstarinstrycodes.xml',
single_blob)
as
x
exec
sp_xml_preparedocument
@idoc
output,
@doc
select
*
into
tmp_tab
from
openxml
(@idoc,
'/root/record'/',2)
with
(
instrycode
varchar(10)
,instryglobalid
varchar(10)
,instryname
varchar(100)
,sectorcode
varchar(10)
,sectorglobalid
varchar(10)
,sectorname
varchar(100)
,supersectorcode
varchar(10)
,supersectorname
varchar(100)
,groupcode
varchar(10)
,groupname
varchar(100)
,countryid
varchar(3)
)
exec
sp_xml_removedocument
@idoc
select
*
from
tmp_tab
2.
先導入到表中varchar(max)列,然後再用openxml解析,讀出。
--
使用single_clob參數,tmp_raw中欄位為varcahr(max)類型
select
*
into
tmp_raw
from
openrowset(bulk
n'e:mstarinstrycodes.xml',
single_clob)
as
x
declare
@idoc
int;
declare
@doc
xml;
select
@doc
=
bulkcolumn
from
tmp_raw
exec
sp_xml_preparedocument
@idoc
output,
@doc
select
top
10
*
from
openxml
(@idoc,
'/root/record',
1)
with
(
instrycode
varchar(10)
,instryglobalid
varchar(10)
,instryname
varchar(100)
,sectorcode
varchar(10)
,sectorglobalid
varchar(10)
,sectorname
varchar(100)
,supersectorcode
varchar(10)
,supersectorname
varchar(100)
,groupcode
varchar(10)
,groupname
varchar(100)
,countryid
varchar(3)
)
exec
sp_xml_removedocument
@idoc
❼ xml文件導入sql資料庫
SQLServer2005分解並導入xml文件[@more@]
1. 一次性導入:
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=BulkColumn FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT * into tmp_tab FROM OPENXML (@idoc, '/Root/Record'/',2)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc
select * from tmp_tab
2. 先導入到表中varchar(MAX)列,然後再用OPENXML解析,讀出。
-- 使用SINGLE_CLOB參數,tmp_raw中欄位為varcahr(MAX)類型
SELECT * into tmp_raw FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_CLOB) AS x
DECLARE @idoc int;
DECLARE @doc xml;
select @doc = BulkColumn from tmp_raw
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT top 10 * FROM OPENXML (@idoc, '/Root/Record', 1)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc
❽ asp.net 一條sql語句向資料庫中插入多條記錄
可以藉助SqlServer對Xml的支持一次把數據傳到Sqlserver中批量插入或修改。
可以參考如下存儲過程:
sp_xml_preparedocument
OPENXML
sp_xml_removedocument
❾ 如何創建XML文件
怎麼創建
XML
輸入文件
SQL
Server
2008
R2
其他版本
此主題尚未評級
評價此主題
假如是有經驗的
XML
開發人員,您可以創建有些
XML
格式的文件,資料庫引擎優化顧問可用這類文件來優化工作負荷。若要創建這類
XML
文件,請用您最喜愛的
XML
工具編輯示例文件,或通過資料庫引擎優化顧問
XML
架構生成實例。
資料庫引擎優化顧問
XML
架構位於
MicrosoftSQL
Server
安裝的以下位置:
C:\Program
Files\Microsoft
SQL
Server\100\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd
此
Microsoft
網站上也在線提供了資料庫引擎優化顧問
XML
架構。
單擊此
URL
可打開(OPEN)1個包含許多
SQL
Server
XML
架構的頁面。向下滾動頁面,直至找到資料庫引擎優化顧問所在的行。
創建
XML
輸入文件以優化工作負荷
創建工作負荷。您可以通過用
SQL
Server
Profiler中的優化模板來用跟蹤文件或表,或創建可產生典型
SQL
Server
工作負荷的
Transact-SQL
腳本。有關清楚信息,請參閱怎麼創建工作負荷。
用下列方法之一創建
XML
輸入文件:
拷貝1個
XML
輸入文件示例
(DTA)
並將其粘貼到您最喜愛的
XML
編輯器。更改值來為安裝的
SQL
Server
指定適當的參數,之後保存
XML
文件。
用您最喜愛的
XML
工具,通過資料庫引擎優化顧問
XML
架構生成1個實例。
創建
XML
輸入文件之後,將它用作
dta
命令行實用工具的輸入來優化工作負荷。有關在此實用工具中用
XML
輸入文件的信息