1. sql Server 2008 必須開啟哪些服務
只需要開啟SQL Server (MSSQLSERVER)。
Sql Server 2008所有服務如下:
SQL Active Directory Helper 服務支持與 Active Directory 的集成
SQL Full-text Filter Daemon Launcher (MSSQLSERVER)用於啟動全文篩選器後台程序進程的服務,該進程將為 SQL Server 全文搜索執行文檔篩選和斷字。禁用此服務將使 SQL Server 的全文搜索功能不可用。
SQL Server (MSSQLSERVER)提供數據的存儲、處理和受控訪問,並提供快速的事務處理。
SQL Server (SQLEXPRESS)提供數據的存儲、處理和受控訪問,並提供快速的事務處理神蘆。
SQL Server Browser將 SQL Server 連接信息提供給客戶端計算機。
SQL Server VSS Writer提供用於通過 Windows VSS 基礎結構備份/還原 Microsoft SQL Server 的介面。
SQL Server 代理 (MSSQLSERVER)執行作業、監視 SQL Server、激發警報,以及允許自動執行某些管理任務。
SQL Server 代理 (SQLEXPRESS)執行作業、監視 SQL Server、激發警報,以及允許自動執行某些管理任務。
(1)sqlserver最核心的服務擴展閱讀:
SQL Server 2008在2008年8月6日正式發表,並且同時發布SQL Server 2008 Express版本,研發代號為「Katmai」,作為SQL Server 2005的功能強化版本,其主要的新功能與特色有:
1、以原則為主(Policy-Based)的管理基礎架構。
2、與Windows Server 2008、Windows Vista的Data Collector技術集成的Performance Data Collection。
3、可以經由管理者設置以調整運行資源的資源調節器(Resource Governer)。
4、可預測的查詢性能。
5、數據壓縮能力。
6、DDL(數據定義語言)審核能力。
7、透通式數據加密(Transparent Data Encryption)
8、記錄檔數據流壓縮(Log Stream Compression)
9、ADO.NET Object Services的直接支持,這代表SQL Server 2008可支持LINQ和ADO.NET Entity Framework。
10、本地的DATE和TIME分割的數據類山叢型,逗瞎櫻並且支持時間位移的DATETIMEOFFSET和更精確的DATETIME2數據類型。
11、FILESTREAM數據類型:將大型二進制數據存到NTFS文件系統中(即不直接存在資料庫中)。
12、稀疏欄位(Sparse Column)的支持,可節省因為NULL值所佔據的存儲空間。
13、空間數據類型集,包含geometry(平面或Euclidean(平面地球)數據)以及geography(橢圓體(圓形地球)數據),分別可存儲平面和立面型的數據,有助於GIS型系統的開發。
14、變更數據收集與捕捉(Change Data Capture)。
15、寬數據表(Wide table),可以容納最高30,000個欄位,但必須要配合Sparse欄位使用。
16、hierarchyid數據類型,可以允許存儲層次結構化的數據。
17、MERGE語句,可根據與來源數據表聯結的結果,在目標數據表上運行插入、更新或刪除作業,其功能與ADO.NET中的DataSet.Merge()方法類似。
18、Report Server應用程序嵌入能力。
19、Reporting Service可支持窗體驗證。
20、預測分析能力(SSAS)。
21、數據表型參數與變數,可以在變數或參數中使用table的類型。
SQL Server 2008比起以往版本存在以下優勢:
(1)保護資料庫查詢
(2)在伺服器的管理操作上花費更少的時間
(3)增加應用程序穩定性
(4)系統執行性能最優化與預測功能
2. 啟動sqlserver資料庫必須開啟哪個服務
計算機管理開啟服務(一)
1、找到SQL Sever服務。在計算機管理框里找到Sql sever配置管理器找到Sql Sever服務打開服務,這里有幾種服務,這些服務都是自己安裝資料庫時裝上的。
2、打開啟動SQL Sever服務。右鍵點擊服務,這里要看清楚什麼才是服務,小技巧:伺服器的圖標是一個庫的樣式,啟動它就可以了。
SQL文件目錄啟動服務(二)
1、找到SQL安裝目錄。點擊【開始】--【所有文件】--【Microsoft SQL Server 2008】--【配置工具】--【SQL Server 配置管理器】。
2、在Sql Sever配置管理框開啟服務。下面是資料庫服務配置管理框,找到我們需要使用的資料庫服務,右鍵開啟它,這樣就可以使用了。
DOS命令開啟服務(三)
1、打開DOS命令框。點擊【開始】--【運行】--輸入:CMD 命令。
2、在命令框輸入字元命令。我們成功打開命令框後,在命令框里輸入:net start mssqlserver 啟動Sql伺服器,同理net stop mssqlserver 是停止伺服器。
3、恭喜你,成功開啟SQL伺服器。
4、檢驗是否開啟服務。安裝上面方法一或者二都可以,下面是我的查看的結果:成功開啟服務,如果想關閉服務,使用一行代碼就可以了。溫馨提示下,DOS命令開啟服務有很多容易錯處點,這裡面還有很多知識,更多的可以自己去學習下。
5、關閉資料庫服務。使用完成後記得關閉服務,很占內存的。關閉方式命令:net stop mssqlserver。
3. 求sql server 2016 正式版的安裝文件,百度盤,官網根本就載不動
MicrosoftSQLServer2008基本安裝說明安裝SQL2008的過程與SQL2005的程序基本一樣,只不過在安裝的過程中部分選項有所改變,當然如果只熟悉SQL2000安裝的同志來說則是一個革命性的變動,一、安裝前的准備1.需要.NetFramework3.5,若在Vista或更高的OS上需要3.5SP1的支持(在SQL2008安裝的前會自動更新安裝)2.需要WidnowsPowerShell的支持,WPS是一個功能非常強大的Shell應用,命令與DOX/UNIX兼容並支持直接調用.NET模塊做行命令編輯,是非常值得深入研究的工具(在SQL2008安裝時會自動更新安裝)3.需要確保WindowsInstaller的成功啟動,需要4.5以上版本(需要檢查服務啟動狀態service.msc)4.需要MDAC2.8sp1的支持(XP以上系統中已集成)5.若機器上已經安裝Visualstudio2008則需要VS2008sp1以上版本的支持(需要自己從MS的網站上下載安裝二、安裝配置過程1.進行SQLServer安裝中心,選擇"安裝"選項,在新的電腦上安裝SQL2008可以直接選擇「全新SQLServer獨立安裝或向現有安裝功能",將會安裝一個默認SQL實列,如下圖2.功能選擇,對於只安裝資料庫伺服器來說,功能的選擇上可以按實際工作需要來制定,本人一般選擇:資料庫引擎服務、客戶端工具連接、SQLServer聯機叢書、管理工具-基本、管理工具-完整其中資料庫引擎服務是SQL資料庫的核心服務,Analysis及Reporting服務可按部署要求安裝,這兩個服務可能需要IIS的支持。如下圖3.實列設置,可直接選擇默認實例進行安裝,或則若同一台伺服器中有多個數據服務實列可按不同實列名進行安裝。如圖4.伺服器配置,伺服器配置主要是服務啟動帳戶的配置,服務的帳戶名推薦使用NTAUTHORITY\SYSTEM的系統帳戶,並指定當前選擇服務的啟動類型,如圖5.資料庫引擎配置,在當前配置中主要設置SQL登錄驗證模式及賬戶密碼,與SQL的數據存儲目錄,身份驗證模式推薦使用混合模式進行驗證,在安裝過程中內置的SQLServer系統管理員帳戶(sa)的密碼比較特殊,SQL2008對SA的密碼強度要求相對比較高,需要有大小寫字母、數字及符號組成,否則將不允許你繼續安裝。在"指定SqlServer管理員"中最好指定本機的系統管理員administrator。如圖
4. sql server2008最核心的服務是什麼
SQL Server 2008 在Microsoft的數據平台上發布,可以組織管理任何數據。可以將結構化、半結構化和非結構化文檔的數據直接存儲到資料庫中。可以對數據進行查詢、搜索、同步、報告和分析之類的操作。數據可以存儲在各種設備上,從數據中心最大的伺服器一直到桌面計算機和移動設備,它都可以控制數據而不用管數據存儲在哪裡。
SQL Server 2008 允許使用 Microsoft .NET 和Visual Studio開發的自定義應用程序中使用數據,在面向服務的架構(SOA)和通過 Microsoft BizTalk Server 進行的業務流程中使用數據。信息工作人員可以通過日常使用的工具直接訪問數據。
5. 與SQL SERVER 安全控制相關的幾點說明
與SQL SERVER安全控制相關的幾點說明
(一)幾個基本術語
身份驗證(Authentication)是指通過提交伺服器評估的憑據以登錄到主體請求訪問的 SQL Server 的過程。身份驗證可以確定接受身份驗證的用戶或進程的標識。
用戶、賬戶、賬號、登錄名、[資料庫]用戶名
用戶是指能夠在SQL Server安全機制下,訪問資料庫對象中的數據的操作員或客戶。用戶若要訪問資料庫對象,必須獲得資料庫管理員(DBA)分配的賬號和密碼。從SQL Server管理系統的角度來看,用戶就是一組匹配的賬戶和密碼。
賬戶和賬號是一個概念的不同說法,在伺服器中的賬戶又叫登錄名(Login Name),因此訪問伺服器也稱為登錄伺服器。伺服器的登錄名可以映射到資料庫中成為[資料庫]用戶名(User Name)。一個登錄名可以映射多個資料庫用戶,而一個用戶只能映射一個登錄名。
連接或登錄SQL Server伺服器時是用的登錄名而非用戶名登錄的,程序裡面的連接字元串中的用戶名也是指登錄名。
通常用戶名與登錄名相同(不是強制相同,但為了一目瞭然通常都在創建用戶名時使用與登錄名相同的名字)。
提示:登錄名(Login Name)和用戶名(User Name)是兩個不同的概念:
登錄名:伺服器方的一個實體,登錄名只能進入SQL Server伺服器,但是不能讓用戶訪問伺服器中的資料庫資源。
用戶名:一個或多個登錄對象在資料庫中的映射,可以對用戶對象進行授權,以便為登錄對象提供對資料庫的訪問許可權。
登錄名作用於它所在的伺服器。每個登錄名的定義存放在master系統資料庫的syslogins表中。
用戶名作用於它所在的資料庫。用戶定義信息存放在每個資料庫的sysusers表中。用登錄名登錄到SQL Server後,在訪問操作各個資料庫時,SQL Server會自動查詢此資料庫中是否存在與此登錄名關聯的用戶名,若存在就使用此用戶的許可權訪問此資料庫,若不存在就是用guest用戶訪問此資料庫(guest是一個特殊的用戶名,後面會講到)。
SQL身份驗證:適合於非windows平台的用戶或Internet用戶,需要提供賬戶和密碼。
Windows身份驗證:適合於windows平台用戶,利用Windows賬戶和windows集成驗證,不需要提供密碼。
用戶想要操作資料庫的某個對象(如某張表)需要過三關:
第一關:我們需要登錄到SQL Server系統,即需要登錄賬戶;
第二關:我們需要訪問某個資料庫,即需要該資料庫的用戶賬戶;
第三關:我們需要訪問資料庫中的某個對象(如某張表),需要有該對象的許可權。
主體(principal)是可被授予對安全資源的訪問許可權的實體(例如登錄名、用戶、進程、組或角色)。主體可以是主體的集合(比如資料庫角色或Windows組)或不可分割的主體(比如本地登錄或域登錄)。每個主體都具有一個 ID (identification)和一個安全 ID (SID)。
⊙ Windows級別的主體:Windows組、Windows域登錄名、Windows本地登錄名。
⊙ SQL Server級的主體:伺服器角色、SQLServer登錄名。
⊙資料庫級的主體:資料庫角色、資料庫用戶、應用程序角色。
上下文切換 (context switch),更改檢查執行語句或執行操作的許可權時所依據的標識。
伺服器(server)
1)指安裝了SQL SERVER的計算機。2)指SQL Server實例——計算機上運行的 SQLServer的副本。3)指為用戶提供服務的計算機軟體或組件。
需要根據上下文理解。
注冊伺服器
注冊伺服器使您可以存儲伺服器連接信息(伺服器的類型、伺服器的名稱、登錄到伺服器時使用的身份驗證的類型等),以供將來連接時使用——下次連接該伺服器時,不需要重新輸入登錄信息。
SQLServer 2000在SQL Server企業管理器中注冊伺服器,才能使用 SQL Server企業管理器來管理這些伺服器。從SQLServer 2005始,在 SQL ServerManagement Studio 中注冊伺服器,才能使用 SQL Server Management Studio 來管理這些伺服器。
在 Microsoft SQL Server中,可以注冊以下類型的伺服器:SQLServer資料庫引擎、Analysis Services、Reporting Services、IntegrationServices和 SQL Server Compact 3.5SP1。
(二)SQL Server實例(SQL Server instance)
SQLServer實例(SQL Server instance),簡稱實例 (instance),是計算機上運行的SQLServer 的副本。同一台計算機上可以安裝運行的多個 SQLServer副本。每個SQL Server實例都包含資料庫引擎、Analysis Services和 ReportingServices的 SQL Server,每個SQL Server資料庫實例各有一套不為其他實例共享的系統及用戶資料庫。
資料庫引擎是用於存儲、處理和保護數據的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務。
實例又分為「默認實例」(default instance)和「命名實例」(namedinstance),如果在一台計算機上安裝第一個SQLSERVER,命名設置保持默認的話,那這個實例就是默認實例。默認實例與安裝計算機具有相同名稱。命名實例指安裝SQL Server時給定了名稱,可以安裝多個命名實例,給定名稱是為了與同一台計算機上的其他命名實例和默認實例區分開。
SQLServer應用程序可以通過僅指定伺服器名稱而連接到 SQLServer的默認實例。SQL Server應用程序在連接到伺服器上的某個命名實例時必須既指定伺服器名稱又指定實例名稱,計算機名稱\實例名稱。
一台計算機上最多隻有一個默認實例,也可以沒有默認實例,默認實例名與計算機名相同。如果要訪問本機上的默認SQL伺服器實例,使用計算機名、(local)、localhost、127.0.0.1、.、本機IP地址,都可以達到相同的目的。但如果要訪問非本機的SQL伺服器,那就必須使用計算機名稱\實例名稱。
默認實例和命名實例的區別:
1、服務中服務名稱的區別:
(1)默認實例:MSSQLSERVER。
(2)有名命名實例:實列名為benet,在服務中的名稱是MSSQL$BENET。
註:如果你有多個實例的時候會在服務中出現多個服務名稱。
2、連接到查詢分析器或探查器的時候區別:
(1)默認實例可以使用:「.」(點)、「(local)」、「計算機名稱」。
(2)實例名稱:計算機名pcname,實例名benet,連接時使用的名稱是pcname\benet。
(三)安全對象和許可權
安全對象(Securable),可以通過許可權得到保護的實體。是SQLServer資料庫引擎授權系統控制對其進行訪問的資源。如表、視圖、觸發器等。
SQLServer中將安全對象分為三個層次,分別為:
⊙伺服器層級,包含的安全對象:端點、登錄、伺服器角色、資料庫。
⊙資料庫層級,包含的安全對象:用戶、資料庫角色、應用程序角色、程序集、消息類型、路由、服務、遠程服務綁定、全文目錄、證書、非對稱密鑰、對稱密鑰、約定、架構。
⊙構架(SCHEMA)層級,包含的安全對象:類型、XML架構集合、對象(函數、過程、同義詞、表、視圖)
這三個層級是從上到下包含的,級別從高到低。
說明:端點(endpoint)為伺服器級安全對象。Microsoft SQL Server 2005 中的連接管理基於「端點」。一個端點就是一個SQL Server對象,它能夠使 SQL Server在網路中通信。對於資料庫鏡像,伺服器實例需要有自己專用的「資料庫鏡像端點」。此端點用途特殊,專門用於接收來自其他伺服器實例的資料庫鏡像連接。
許可權 (permission),與對象關聯的規則,用來規定哪些用戶可以獲得該對象的訪問許可權以及方式如何。對安全對象的訪問通過授予或拒絕許可權進行控制。
許可權可以明確用戶能夠使用哪些資料庫對象,並對它們進行何種操作。用戶在資料庫內的許可權取決於用戶賬號的許可權和該用戶所屬的角色的許可權。
提示:在設置許可權時,尤其要注意許可權在安全對象上的繼承關系。對於高級別安全對象上設置的許可權,會被自動繼承到低級別安全對象上。
理解許可權的繼承和許可權的覆蓋會在設置許可權時減少很多問題,最佳方法是統籌規劃,上機驗證。
(四)架構(schema)
架構是指包含表、視圖、過程等的容器。它位於資料庫內部,而資料庫位於伺服器內部。這些實體就像嵌套框放置在一起。伺服器是最外面的框,而架構是最裡面的框。架構包含表、視圖、過程、函數、同義詞、類型、隊列、XML架構集合等安全對象。
注意:
在 SQL Server 2000和早期版本中,資料庫可以包含一個名為「架構」的實體, SQL Server 2000包含 CREATE SCHEMA語句,但此實體實際上是所有者(創建對象時的用戶)。在 SQL Server 2005 開始,架構既是一個容器,又是一個命名空間。任何用戶都可以擁有架構,並且架構所有權可以轉移。從 SQL Server 2005開始,每個用戶都擁有一個默認架構。可以使用 CREATE USER或 ALTER USER的 DEFAULT_SCHEMA選項設置和更改默認架構。如果未定義 DEFAULT_SCHEMA,則資料庫用戶將使用 dbo作為默認架構。
在SQL Server 2000中,DataBaseName.dbo.TableName解釋為:資料庫名.所有者.表名。
從 SQL Server 2005開始,DataBaseName.dbo.TableName解釋為:資料庫名.架構名.表名。
在SQL Server 2000中,資料庫對象全稱是server_name.[database_name].[owner_name].object_name
從SQL Server 2005始,資料庫對象全稱是server_name.[database_name].[schema_name].object_name
在SQL SERVER2000或以前版本中創建一個對象,對象必須要有一個所有者(owner)。對象是如何屬於某個所有者的呢?這依賴於創建對象時的用戶。您不能取消對象所有者(object owner)的特權(privileges)。對象所有者可以執行任何與對象有關的操作(例如 INSERT、UPDATE、DELETE、SELECT或 EXECUTE),也可以管理對象的許可權。
從2005/2008後,一個我們必須重新認識的情況是對象不再有所有者(owner)。架構包含對象,架構有所有者。
在2005前(如SQL Server 2000中),沒有架構的概念,只有用戶的概念,那時候DBO是默認用戶。到了2005,有了架構概念,但是為了向後兼容,保留了DBO,並且把DBO作為默認架構,在不指定架構的情況下,默認為dbo,「默認架構」的概念,用於解析未使用其完全限定名稱引用的對象的名稱。在 SQL Server 2005 中,每個用戶都有一個默認架構,用於指定伺服器在解析對象的名稱時將要搜索的第一個架構。可以使用 CREATE USER和 ALTER USER的 DEFAULT_SCHEMA選項設置和更改默認架構。如果未定義 DEFAULT_SCHEMA,則資料庫用戶將把 DBO作為其默認架構。
(五)dbo
dbo既是默認架構,也是默認用戶。在SQL Server 2000中,dbo作為默認用戶。在SQL Server2005中,dbo既作為默認用戶,也作為默認架構(如圖)。
dbo作為默認用戶,dbo (DataBase Owner,資料庫的所有者,擁有資料庫中的所有對象),每個資料庫都有dbo, sysadmin伺服器角色的成員自動映射成dbo,無法刪除 dbo用戶,且此用戶始終出現在每個資料庫中。通常,登錄名sa映射為庫中的用戶dbo。另外,固定伺服器角色 sysadmin的任何成員都映射到每個資料庫內稱為 dbo的一個特殊用戶上。由固定伺服器角色sysadmin的任何成員創建的任何對象都自動屬於 dbo。由固定伺服器角色 sysadmin的任何成員或 dbo用戶創建的任何對象都自動屬於dbo,由任何其他用戶(包括 db_owner固定資料庫角色成員)創建的對象,屬於創建該對象的用戶,而不是 dbo,用創建該對象的用戶名限定。例如:
如果用戶 Andrew是固定伺服器角色sysadmin的成員,並創建表 T1,則表 T1屬於 dbo,並以 dbo.T1而不是 Andrew.T1進行限定。相反,如果 Andrew不是固定伺服器角色sysadmin的成員,而只是固定資料庫角色 db_owner的成員,並創建表 T1,則 T1屬於 Andrew,並限定為Andrew.T1。該表屬於 Andrew,因為該成員沒有將表限定為dbo.T1。
dbo作為默認架構,在不指定架構的情況下,默認為dbo,「默認架構」的概念,用於解析未使用其完全限定名稱引用的對象的名稱。在 SQL Server 2005 中,每個用戶都有一個默認架構,用於指定伺服器在解析對象的名稱時將要搜索的第一個架構。可以使用 CREATE USER和 ALTER USER的 DEFAULT_SCHEMA選項設置和更改默認架構。如果未定義 DEFAULT_SCHEMA,則資料庫用戶將把 DBO作為其默認架構。
(六)Guest用戶
guest用戶不需要映射到登錄名。這種用戶賬號是供資料庫中沒有明確授予許可權給已映射至認證用戶使用的。guest供那些已經成功登錄到SQL SERVER實例,但是卻沒有通過用戶訪問資料庫的許可權的登錄者使用的。
SQLSERVER 2000中guest用戶可以刪除;而2005/2008中是不能刪除的,卻可以取消CONNECT許可權,而且為安全起見,所有用戶定義的資料庫中預設情況下guest用戶的許可權都是被取消了的,可在除master和tempdb之外的任何資料庫中禁用Guest用戶。
在SQL SERVER 2000中,新建的資料庫中沒有Guest用戶,但可以添加它,也可刪除它,添加與刪除方法與普通資料庫相同。
在SQL Server 2005或以上版本中GUEST已經默認存在於每個資料庫中,但默認情況下,會在新資料庫中禁用GUEST用戶(在「對象資源管理器→安全性→登錄」節點中圖標上有禁用標識),我們可以通過以下語句啟用GUEST用戶:GRANT CONNECT TO GUEST 。當你決定不再想讓該資料庫被非資料庫授權的用戶以GUEST身份進行訪問時,可以再次將GUEST帳號禁用。值得一提的是,GUEST用戶在資料庫中不能被刪除,我們只能通過以下語句禁用GUEST用戶:REVOKE CONNECT FROMGUEST 。
在SQL SERVER 2000中,要允許guest用戶帳戶訪問資料庫,可以像添加其它資料庫用戶那樣添加它,如:
USE<Database Name>
GO
EXECsp_grantdbaccess 'guest'
GO
在SQL SERVER 2005中,允許guest用戶帳戶
USE<Database Name>
GO
GRANT CONNECT TO GUEST
GO
需要提醒的是,對於是否添加Guest用戶要謹慎權衡利弊。
--SQLServer 2000刪除guest用戶賬號
USE<Database Name>
GO
EXECsp_revokedbaccess 'guest'
GO
-- SQLServer 2005禁用guest用戶賬號
USE<Database Name>
GO
REVOKECONNECT FROM GUEST
GO
(七)sa登錄名
SQLServer的 sa登錄名是伺服器級的主體。默認情況下,該登錄名是在安裝實例時創建的。在 SQL Server 2005和 SQL Server2008中,sa的默認資料庫為 master。這是對早期版本的 SQLServer的行為的更改。
sa(system administrator系統管理員)是為向後兼容而提供的特殊登錄。sysadmin是一種角色。該角色能夠執行SQLServer上的任何操作。本質上,任何具有這種角色成員身份的人都是那個伺服器上的sa。這種伺服器角色的創建為微軟提供了某一天去除sa登錄的能力——實際上,聯機叢書把sa稱作本質上為遺留物的東西。
與以前版本不同,SQL Server 2008,即使是用混合模式安裝,sa也默認禁用。
注意,sa是一個默認的SQL Server登錄名,擁有操作SQL Server系統的所有許可權,該登錄名不能被刪除。當採用混合模式安裝Microsoft SQL Server系統之後,應該為sa指定一個密碼,應為 sa登錄分配一個強密碼(strongpassword)。
sa登錄名會映射到 sysadmin固定伺服器角色,它對整個伺服器有不能撤銷的管理憑據。如果攻擊者以系統管理員的身份獲取了訪問許可權,則可能造成的危害是無法預計的。
(八)其它幾個默認配置的的登錄(Logins)和用戶(Users)
默認配置的的登錄和用戶除了dbo用戶、Guest用戶、sa登錄,還有如下幾個:
Administrators組是一個特殊的登錄。administrator用戶默認administrators組的成員。
Administrators組實際名稱為BUILTIN\Administrators。早期版本,這個組的所有成員均為 sysadmin 角色的成員(這意味著Administrators組中的成員具有最高許可權),但可以從該角色中移除這些成員。與以前版本不同,SQL Server 2008默認情況下,本地 Windows組 BUILTIN\Administrators不再包含在新的 SQL Server 2008安裝上的 SQL Server的 sysadmin固定伺服器角色中。
提示:每個版本的 SQL Server都具有不同的安全功能,默認配置也不盡相同,後出的版本更有利於安全,但安全性和使用方便這兩種需求可能有矛盾的一面,最佳方法是上機了解驗證。
NETWORKSERVICE和SYSTEM登錄賬戶
NETWORKSERVICE和SYSTEM登錄賬戶,實際名稱為NT AUTHORITY\NETWORK SERVICE和NT AUTHORITY\SYSTEM,是否存在這些,依賴於伺服器的配置。如果配置了報表伺服器,將出現NETWORK SERVICE登錄賬戶。
INFORMATION_SCHEMA和sys用戶
INFORMATION_SCHEMA和sys又是SQL Server 預定義的架構(內置架構)名稱,它們與INFORMATION_SCHEMA和sys用戶具有相同的名稱。不能刪除,主要用於向後兼容性。可以使用INFORMATION_SCHEMA用戶和sys用戶訪問INFORMATION_SCHEMA和sys架構的系統視圖,獲取有關資料庫元數據信息。
(九)SQL Server中的角色
角色 (role),是SQL Server用來管理伺服器和資料庫許可權的,是安全帳戶的集合,在管理許可權時可以視為一個單元——作為分配許可權的單位。
SQLServer中的角色分為伺服器級別和資料庫級別角色。
◇伺服器級別角色
伺服器級別角色用於幫助管理伺服器上的許可權。伺服器角色的許可權作用域為伺服器范圍。可以將登錄名(Login Name)添加到伺服器角色。
符合許可權要求的用戶,可以將伺服器級主體(SQL Server登錄名、Windows帳戶和 Windows組)添加到伺服器級角色。固定伺服器角色的每個成員都可以將其他登錄名添加到該同一角色。
固定伺服器角色簡介:
1)sysadmin:系統管理員,角色成員可對SQLServer伺服器進行所有的管理工作,為最高管理角色。這個角色一般適合於資料庫管理員(DBA)。
2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性。可以授予、拒絕、撤銷伺服器級和資料庫級的許可權。另外還可以重置SQL Server登錄名的密碼。
3)serveradmin:伺服器管理員,角色成員具有對伺服器進行設置及關閉伺服器的許可權。
4)setupadmin:設置管理員,角色成員可以添加和刪除鏈接伺服器,並執行某些系統存儲過程。
5)processadmin:進程管理員,角色成員可以終止SQLServer實例中運行的進程。
6)diskadmin:用於管理磁碟文件。
7)dbcreator:資料庫創建者,角色成員可以創建、更改、刪除或還原任何資料庫。
8)bulkadmin:可執行BULK INSERT語句,但是這些成員對要插入數據的表必須有INSERT許可權。BULK INSERT語句的功能是以用戶指定的格式復制一個數據文件至資料庫表或視圖。
9)在sql server 2005 sp2(補丁)及以後版本,伺服器角色中還可以看到一個public角色。每個 SQL Server登錄名均屬於 public伺服器角色。 如果未向某個伺服器主體授予或拒絕對某個安全對象的特定許可權,該用戶將繼承授予該對象的 public角色的許可權。public伺服器角色默認擁有 VIEW ANY DATABASE(查看任何資料庫)許可權。[VIEW ANY DATABASE許可權控制是否顯示sys.databases和 sys.sysdatabases視圖以及 sp_helpdb系統存儲過程中的元數據(metadata)。]
從 SQL Server 2012開始,您可以創建用戶定義的伺服器角色,並將伺服器級許可權添加到用戶定義的伺服器角色。
每個版本的 SQL Server都具有不同的安全功能,版本越高,功能越強。
可以利用系統函數IS_SRVROLEMEMBER指示當前用戶的 SQLServer登錄名是否是固定伺服器角色的成員。
可以利用系統存儲過程sp_helpsrvrolemember返回有關 SQL Server 固定伺服器角色成員的信息。
--查詢 sysadmin固定伺服器角色的成員。
execsp_helpsrvrolemember 'sysadmin'
◇資料庫級別的角色
資料庫級別角色用於幫助管理資料庫中的許可權。資料庫級角色的許可權作用域為資料庫范圍。可以將[資料庫]用戶名(User Name)添加到資料庫角色。
SQLServer中有兩種類型的資料庫級角色:資料庫中預定義的「固定資料庫角色」和您可以創建的「靈活資料庫角色」(自定義資料庫角色)。
固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。 db_owner和db_securityadmin資料庫角色的成員可以管理固定資料庫角色成員身份。但是,只有db_owner資料庫角色的成員能夠向db_owner固定資料庫角色中添加成員。 msdb資料庫中還有一些特殊用途的固定資料庫角色。
符合許可權要求的用戶,可以向資料庫級角色中添加資料庫帳戶和其他 SQL Server角色。固定資料庫角色的每個成員都可向同一個角色添加其他登錄名。
固定資料庫角色簡介:
1)db_owner:資料庫所有者,這個資料庫角色的成員可執行資料庫的所有管理操作。
2)db_accessadmin:資料庫訪問許可權管理者,角色成員具有添加、刪除資料庫使用者、資料庫角色和組的許可權。
3)db_securityadmin:資料庫安全管理員,角色成員可管理資料庫中的許可權,如設置資料庫表的增加、刪除、修改和查詢等存取許可權。
4)db_ddladmin:資料庫DDL管理員,角色成員可增加、修改或刪除資料庫中的對象。
5)db_backupoperator:資料庫備份操作員,角色成員具有執行資料庫備份的許可權。
6)db_datareader:資料庫數據讀取者,角色成員可以從所有用戶表中讀取數據。
7)db_datawriter:資料庫數據寫入者,角色成員具有對所有用戶表進行增加、刪除、修改的許可權。
8)db_denydatareader:資料庫拒絕數據讀取者,角色成員不能讀取資料庫中任何錶的內容。
9)db_denydatawriter:資料庫拒絕數據寫入者,角色成員不能對任何錶進行增加、刪修、修改操作。
10)public:是一個特殊的資料庫角色,每個資料庫用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。public資料庫角色默認的許可權很少[使用某些系統過程查看並顯示master資料庫中的信息;執行一些不需要一些許可權的語句(例如PRINT)]。
可以利用系統函數IS_MEMBER檢查當前用戶是否是資料庫角色或Windows域組的成員。
可以利用系統存儲過程sp_helprolemember顯示資料庫角色的成員。
可以利用系統存儲過程sp_helpuser報告有關當前資料庫中資料庫級主體的信息。
可以利用系統存儲過程sp_helprotect報告當前資料庫中某對象的用戶許可權或語句許可權的信息。
--查詢用戶擁有的資料庫角色
useyourdb
execsp_helpuser 'UserName'
go
--查詢用戶被賦予的許可權
useyourdb
execsp_helprotect @username = 'user name'
6. sql server服務,誰能詳細介紹一下
SQL Server FullText Search (MSSQLSERVER):全文檢索服務
如果有全文索引的話要啟動SQL Server FullText Search 沒有的話啟動不啟動沒有影響的
SQL Server Agent 是一個任務規劃器和警報管理器,在實際應用和環境下,您可以將那些周期性的活動定義成一個任務,而讓其在SQL Server Agent 的幫助下自動運行;假如您是一名系統管理員,則可以利用SQL Server Agent 向您通知一些警告信息,來定位出現的問題從而提高管理效率。SQL Server Agent 主要包括以下幾個組件:作業;警報;操作。
主要執行以下步驟在SQL Server Enterprise Manager 中配置SQL Server Agent:
(1) 啟動SQL Server Enterprise Manager, 登錄到指定的伺服器打開Management 文件夾,啟動SQL Server Agent。
(2) 右擊SQL Server Agent 圖標,在彈出菜單中選擇Properties 選項。打開SQL Server Agent Properties 對話框,選中General 標簽頁。如圖17-1 所示。其中各選項的含義為:
System account: 定義SQL Server Agent 運行於哪個系統賬號下,該系統賬號是sysadmin 角色的成員;
This account: 定義SQL Server Agent 運行於哪一個NT 賬號下,該賬號必須是運行SQL Server Agent 伺服器上的sysadmin 角色,選擇此選項,必須在Password處提供密碼。常在下列情況中選中該選項:
把事件轉寄到其它NT 計算機的應用日誌;
如何來創建一個作業,該作業要使用多個計算機上的資源;
通過電子郵件或尋呼通知操作員消息。
Mail Profile 有效的郵件配置文件名,該文件保存通過SQL Mail 為SQL ServerAgent 運行賬號配置的郵件系統正常工作的配置信息;
Save copies of the sent messages in the Sent Items folder: 指定發送消息存放的文件目錄;
File name: 指定SQL Server Agent 日誌文件名,預設名為C:\Mssql7\Log\Sqlagent.out;
Error message pop-up recipient 指定接收網路彈出錯誤消息的接收者名字,這些錯誤消息由SQL Server Agent 寫入它的錯誤日誌。
(3) 選中Advanced 標簽頁
Auto restart SQL Server if it stops unexpectedly :表示如果SQL Server 意外停止運行,則將自動重新啟動;
Auto restart SQL Server Agent if it stops unexpectedly: 表示如果SQL Server Agent意外停止運行,則將自動重新啟動;
Forward events to a different server: 表示將事件轉寄給其它伺服器。在Server 旁的下拉列表中選擇接收伺服器;
Unhandled events: 表示轉寄那些不是在本地伺服器上處理的事件;All 表示所有事件;
If error has severity of or above: 表示只有在錯誤等級大於或等於給定值時,才將事件轉寄給所選伺服器;
Idle CPU(s) Condition: 定義了CPU 空閉狀態的屬性值,即CPU 平均使用率低於給不定期值且該狀態持續的時間超過給定時間,則認為CPU 處於空閉狀態。
4) 選中Alert System 標簽頁
Address formatting for page e-mails: 該區域用來設定消息屬性並在尋呼信息中加入錯誤信息;
Fail-safe operator: 表示失敗安全型操作員,如果由於不確定的原因使消息無法到達指定的操作員,則SQL Server Agent 會把該消息傳給失敗安全型操作員;
(5) 選中Job System 標簽頁
Job history log: 該區域指定日誌的大小以及每件作業的最大行數,從而避免填滿msdb 資料庫;
Job execution: 該區域用來設定在作業執行結束前SQL Server Agent 的最長等待時間,如果超過這一時間作業仍沒有執行,則SQL Server Agent 將關閉;
Non-SysAdmin job step proxy account: 該區域用來設定執行CmdExec 和ActiveScripting
作業的限制。
(6) 選中Connection 標簽頁
SQLServer Connection: 該區域定義了將SQL Server Agent 連接到SQL Server 時使用的認證模式;
SQLServer alias 定義:本地SQL Server 伺服器的別名。
注意:配置完SQL Server Agent之後需要重新啟動,這樣配置才能生效
SQL Server 瀏覽器程序以 Windows 服務的形式運行。SQL Server 瀏覽器偵聽對 MicrosoftSQL Server 資源的傳入請求,並提供計算機上安裝的 SQL Server 實例的相關信息。SQL Server 瀏覽器可用於執行下列操作:
瀏覽可用伺服器列表
連接到正確的伺服器實例
連接到專用管理員連接 (DAC) 端點
SQL Server Browser 服務 (sqlbrowser) 為資料庫引擎和 SSAS 的每個實例提供實例名稱和版本號。SQL Server 瀏覽器隨 SQL Server 一起安裝,為該計算機上運行的早期版本的 SQL Server(從 SQL Server 7.0 開始)提供此服務。
SQL Server 瀏覽器可以在安裝過程中進行配置,也可以使用 SQL Server 配置管理器進行配置。默認情況下,SQL Server Browser 服務會自動啟動:
MicrosoftIntegration Services 是用於生成企業級數據集成和數據轉換解決方案的平台。使用 Integration Services 可解決復雜的業務問題,具體表現為:復制或下載文件,發送電子郵件以響應事件,更新數據倉庫,清除和挖掘數據以及管理 SQL Server 對象和數據。這些包可以獨立使用,也可以與其他包一起使用以滿足復雜的業務需求。Integration Services 可以提取和轉換來自多種源(如 XML 數據文件、平面文件和關系數據源)的數據,然後將這些數據載入到一個或多個目標。
Integration Services 包含一組豐富的內置任務和轉換、用於構造包的工具以及用於運行和管理包的 Integration Services 服務。可以使用 Integration Services 圖形工具來創建解決方案,而無需編寫一行代碼;也可以對各種 Integration Services 對象模型進行編程,通過編程方式創建包並編寫自定義任務以及其他包對象的代碼。