真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

sqlserver第二高,sql第二高成績

查詢mysql數(shù)據(jù)庫中第二記錄

、、、汗 。。mysql 基礎看過了沒有?

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,高昌企業(yè)網(wǎng)站建設,高昌品牌網(wǎng)站建設,網(wǎng)站定制,高昌網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,高昌網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

top 是access 、SqlServer的。 mysql不支持 top 的。

可以這么寫。

select * from usert order by gongz desc limit = 1,1

這樣就可以了。

SQL Server 和 Oracle 以及 MySQL 有哪些區(qū)別

區(qū)別如下:

1、Oracle和SQL Server是商業(yè)收費的,而MySql是開源免費的;

2、Oracle和MySql是甲骨文的產(chǎn)品,SQL Server是微軟的產(chǎn)品;

3、Oracle和IBM DB2都是超大型關系數(shù)據(jù)庫,SQL Server是大型關系數(shù)據(jù)庫,而MySql是中型關系數(shù)據(jù)庫;

4、Oracle比SQL Server的安全性高,而SQL Server又比MySql的安全性高。

與SQL SERVER 安全控制相關的幾點說明

與SQL SERVER安全控制相關的幾點說明

(一)幾個基本術語

身份驗證(Authentication)是指通過提交服務器評估的憑據(jù)以登錄到主體請求訪問的 SQL Server 的過程。身份驗證可以確定接受身份驗證的用戶或進程的標識。

用戶、賬戶、賬號、登錄名、[數(shù)據(jù)庫]用戶名

用戶是指能夠在SQL Server安全機制下,訪問數(shù)據(jù)庫對象中的數(shù)據(jù)的操作員或客戶。用戶若要訪問數(shù)據(jù)庫對象,必須獲得數(shù)據(jù)庫管理員(DBA)分配的賬號和密碼。從SQL Server管理系統(tǒng)的角度來看,用戶就是一組匹配的賬戶和密碼。

賬戶和賬號是一個概念的不同說法,在服務器中的賬戶又叫登錄名(Login Name),因此訪問服務器也稱為登錄服務器。服務器的登錄名可以映射到數(shù)據(jù)庫中成為[數(shù)據(jù)庫]用戶名(User Name)。一個登錄名可以映射多個數(shù)據(jù)庫用戶,而一個用戶只能映射一個登錄名。

連接或登錄SQL Server服務器時是用的登錄名而非用戶名登錄的,程序里面的連接字符串中的用戶名也是指登錄名。

通常用戶名與登錄名相同(不是強制相同,但為了一目了然通常都在創(chuàng)建用戶名時使用與登錄名相同的名字)。

提示:登錄名(Login Name)和用戶名(User Name)是兩個不同的概念:

登錄名:服務器方的一個實體,登錄名只能進入SQL Server服務器,但是不能讓用戶訪問服務器中的數(shù)據(jù)庫資源。

用戶名:一個或多個登錄對象在數(shù)據(jù)庫中的映射,可以對用戶對象進行授權,以便為登錄對象提供對數(shù)據(jù)庫的訪問權限。

登錄名作用于它所在的服務器。每個登錄名的定義存放在master系統(tǒng)數(shù)據(jù)庫的syslogins表中。

用戶名作用于它所在的數(shù)據(jù)庫。用戶定義信息存放在每個數(shù)據(jù)庫的sysusers表中。用登錄名登錄到SQL Server后,在訪問操作各個數(shù)據(jù)庫時,SQL Server會自動查詢此數(shù)據(jù)庫中是否存在與此登錄名關聯(lián)的用戶名,若存在就使用此用戶的權限訪問此數(shù)據(jù)庫,若不存在就是用guest用戶訪問此數(shù)據(jù)庫(guest是一個特殊的用戶名,后面會講到)。

SQL身份驗證:適合于非windows平臺的用戶或Internet用戶,需要提供賬戶和密碼。

Windows身份驗證:適合于windows平臺用戶,利用Windows賬戶和windows集成驗證,不需要提供密碼。

用戶想要操作數(shù)據(jù)庫的某個對象(如某張表)需要過三關:

第一關:我們需要登錄到SQL Server系統(tǒng),即需要登錄賬戶;

第二關:我們需要訪問某個數(shù)據(jù)庫,即需要該數(shù)據(jù)庫的用戶賬戶;

第三關:我們需要訪問數(shù)據(jù)庫中的某個對象(如某張表),需要有該對象的權限。

主體(principal)是可被授予對安全資源的訪問權限的實體(例如登錄名、用戶、進程、組或角色)。主體可以是主體的集合(比如數(shù)據(jù)庫角色或Windows組)或不可分割的主體(比如本地登錄或域登錄)。每個主體都具有一個 ID (identification)和一個安全 ID (SID)。

⊙ Windows級別的主體:Windows組、Windows域登錄名、Windows本地登錄名。

⊙ SQL Server級的主體:服務器角色、SQLServer登錄名。

⊙數(shù)據(jù)庫級的主體:數(shù)據(jù)庫角色、數(shù)據(jù)庫用戶、應用程序角色。

上下文切換 (context switch),更改檢查執(zhí)行語句或執(zhí)行操作的權限時所依據(jù)的標識。

服務器(server)

1)指安裝了SQL SERVER的計算機。2)指SQL Server實例——計算機上運行的 SQLServer的副本。3)指為用戶提供服務的計算機軟件或組件。

需要根據(jù)上下文理解。

注冊服務器

注冊服務器使您可以存儲服務器連接信息(服務器的類型、服務器的名稱、登錄到服務器時使用的身份驗證的類型等),以供將來連接時使用——下次連接該服務器時,不需要重新輸入登錄信息。

SQLServer 2000在SQL Server企業(yè)管理器中注冊服務器,才能使用 SQL Server企業(yè)管理器來管理這些服務器。從SQLServer 2005始,在 SQL ServerManagement Studio 中注冊服務器,才能使用 SQL Server Management Studio 來管理這些服務器。

在 Microsoft SQL Server中,可以注冊以下類型的服務器:SQLServer數(shù)據(jù)庫引擎、Analysis Services、Reporting Services、IntegrationServices和 SQL Server Compact 3.5SP1。

(二)SQL Server實例(SQL Server instance)

SQLServer實例(SQL Server instance),簡稱實例 (instance),是計算機上運行的SQLServer 的副本。同一臺計算機上可以安裝運行的多個 SQLServer副本。每個SQL Server實例都包含數(shù)據(jù)庫引擎、Analysis Services和 ReportingServices的 SQL Server,每個SQL Server數(shù)據(jù)庫實例各有一套不為其他實例共享的系統(tǒng)及用戶數(shù)據(jù)庫。

數(shù)據(jù)庫引擎是用于存儲、處理和保護數(shù)據(jù)的核心服務。利用數(shù)據(jù)庫引擎可控制訪問權限并快速處理事務。

實例又分為“默認實例”(default instance)和“命名實例”(namedinstance),如果在一臺計算機上安裝第一個SQLSERVER,命名設置保持默認的話,那這個實例就是默認實例。默認實例與安裝計算機具有相同名稱。命名實例指安裝SQL Server時給定了名稱,可以安裝多個命名實例,給定名稱是為了與同一臺計算機上的其他命名實例和默認實例區(qū)分開。

SQLServer應用程序可以通過僅指定服務器名稱而連接到 SQLServer的默認實例。SQL Server應用程序在連接到服務器上的某個命名實例時必須既指定服務器名稱又指定實例名稱,計算機名稱\實例名稱。

一臺計算機上最多只有一個默認實例,也可以沒有默認實例,默認實例名與計算機名相同。如果要訪問本機上的默認SQL服務器實例,使用計算機名、(local)、localhost、127.0.0.1、.、本機IP地址,都可以達到相同的目的。但如果要訪問非本機的SQL服務器,那就必須使用計算機名稱\實例名稱。

默認實例和命名實例的區(qū)別:

1、服務中服務名稱的區(qū)別:

(1)默認實例:MSSQLSERVER。

(2)有名命名實例:實列名為benet,在服務中的名稱是MSSQL$BENET。

注:如果你有多個實例的時候會在服務中出現(xiàn)多個服務名稱。

2、連接到查詢分析器或探查器的時候區(qū)別:

(1)默認實例可以使用:“.”(點)、“(local)”、“計算機名稱”。

(2)實例名稱:計算機名pcname,實例名benet,連接時使用的名稱是pcname\benet。

(三)安全對象和權限

安全對象(Securable),可以通過權限得到保護的實體。是SQLServer數(shù)據(jù)庫引擎授權系統(tǒng)控制對其進行訪問的資源。如表、視圖、觸發(fā)器等。

SQLServer中將安全對象分為三個層次,分別為:

⊙服務器層級,包含的安全對象:端點、登錄、服務器角色、數(shù)據(jù)庫。

⊙數(shù)據(jù)庫層級,包含的安全對象:用戶、數(shù)據(jù)庫角色、應用程序角色、程序集、消息類型、路由、服務、遠程服務綁定、全文目錄、證書、非對稱密鑰、對稱密鑰、約定、架構。

⊙構架(SCHEMA)層級,包含的安全對象:類型、XML架構集合、對象(函數(shù)、過程、同義詞、表、視圖)

這三個層級是從上到下包含的,級別從高到低。

說明:端點(endpoint)為服務器級安全對象。Microsoft SQL Server 2005 中的連接管理基于“端點”。一個端點就是一個SQL Server對象,它能夠使 SQL Server在網(wǎng)絡中通信。對于數(shù)據(jù)庫鏡像,服務器實例需要有自己專用的“數(shù)據(jù)庫鏡像端點”。此端點用途特殊,專門用于接收來自其他服務器實例的數(shù)據(jù)庫鏡像連接。

權限 (permission),與對象關聯(lián)的規(guī)則,用來規(guī)定哪些用戶可以獲得該對象的訪問權限以及方式如何。對安全對象的訪問通過授予或拒絕權限進行控制。

權限可以明確用戶能夠使用哪些數(shù)據(jù)庫對象,并對它們進行何種操作。用戶在數(shù)據(jù)庫內(nèi)的權限取決于用戶賬號的權限和該用戶所屬的角色的權限。

提示:在設置權限時,尤其要注意權限在安全對象上的繼承關系。對于高級別安全對象上設置的權限,會被自動繼承到低級別安全對象上。

理解權限的繼承和權限的覆蓋會在設置權限時減少很多問題,最佳方法是統(tǒng)籌規(guī)劃,上機驗證。

(四)架構(schema)

架構是指包含表、視圖、過程等的容器。它位于數(shù)據(jù)庫內(nèi)部,而數(shù)據(jù)庫位于服務器內(nèi)部。這些實體就像嵌套框放置在一起。服務器是最外面的框,而架構是最里面的框。架構包含表、視圖、過程、函數(shù)、同義詞、類型、隊列、XML架構集合等安全對象。

注意:

在 SQL Server 2000和早期版本中,數(shù)據(jù)庫可以包含一個名為“架構”的實體, SQL Server 2000包含 CREATE SCHEMA語句,但此實體實際上是所有者(創(chuàng)建對象時的用戶)。在 SQL Server 2005 開始,架構既是一個容器,又是一個命名空間。任何用戶都可以擁有架構,并且架構所有權可以轉移。從 SQL Server 2005開始,每個用戶都擁有一個默認架構??梢允褂?CREATE USER或 ALTER USER的 DEFAULT_SCHEMA選項設置和更改默認架構。如果未定義 DEFAULT_SCHEMA,則數(shù)據(jù)庫用戶將使用 dbo作為默認架構。

在SQL Server 2000中,DataBaseName.dbo.TableName解釋為:數(shù)據(jù)庫名.所有者.表名。

從 SQL Server 2005開始,DataBaseName.dbo.TableName解釋為:數(shù)據(jù)庫名.架構名.表名。

在SQL Server 2000中,數(shù)據(jù)庫對象全稱是server_name.[database_name].[owner_name].object_name

從SQL Server 2005始,數(shù)據(jù)庫對象全稱是server_name.[database_name].[schema_name].object_name

在SQL SERVER2000或以前版本中創(chuàng)建一個對象,對象必須要有一個所有者(owner)。對象是如何屬于某個所有者的呢?這依賴于創(chuàng)建對象時的用戶。您不能取消對象所有者(object owner)的特權(privileges)。對象所有者可以執(zhí)行任何與對象有關的操作(例如 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,則數(shù)據(jù)庫用戶將把 DBO作為其默認架構。

(五)dbo

dbo既是默認架構,也是默認用戶。在SQL Server 2000中,dbo作為默認用戶。在SQL Server2005中,dbo既作為默認用戶,也作為默認架構(如圖)。

dbo作為默認用戶,dbo (DataBase Owner,數(shù)據(jù)庫的所有者,擁有數(shù)據(jù)庫中的所有對象),每個數(shù)據(jù)庫都有dbo, sysadmin服務器角色的成員自動映射成dbo,無法刪除 dbo用戶,且此用戶始終出現(xiàn)在每個數(shù)據(jù)庫中。通常,登錄名sa映射為庫中的用戶dbo。另外,固定服務器角色 sysadmin的任何成員都映射到每個數(shù)據(jù)庫內(nèi)稱為 dbo的一個特殊用戶上。由固定服務器角色sysadmin的任何成員創(chuàng)建的任何對象都自動屬于 dbo。由固定服務器角色 sysadmin的任何成員或 dbo用戶創(chuàng)建的任何對象都自動屬于dbo,由任何其他用戶(包括 db_owner固定數(shù)據(jù)庫角色成員)創(chuàng)建的對象,屬于創(chuàng)建該對象的用戶,而不是 dbo,用創(chuàng)建該對象的用戶名限定。例如:

如果用戶 Andrew是固定服務器角色sysadmin的成員,并創(chuàng)建表 T1,則表 T1屬于 dbo,并以 dbo.T1而不是 Andrew.T1進行限定。相反,如果 Andrew不是固定服務器角色sysadmin的成員,而只是固定數(shù)據(jù)庫角色 db_owner的成員,并創(chuàng)建表 T1,則 T1屬于 Andrew,并限定為Andrew.T1。該表屬于 Andrew,因為該成員沒有將表限定為dbo.T1。

dbo作為默認架構,在不指定架構的情況下,默認為dbo,“默認架構”的概念,用于解析未使用其完全限定名稱引用的對象的名稱。在 SQL Server 2005 中,每個用戶都有一個默認架構,用于指定服務器在解析對象的名稱時將要搜索的第一個架構??梢允褂?CREATE USER和 ALTER USER的 DEFAULT_SCHEMA選項設置和更改默認架構。如果未定義 DEFAULT_SCHEMA,則數(shù)據(jù)庫用戶將把 DBO作為其默認架構。

(六)Guest用戶

guest用戶不需要映射到登錄名。這種用戶賬號是供數(shù)據(jù)庫中沒有明確授予權限給已映射至認證用戶使用的。guest供那些已經(jīng)成功登錄到SQL SERVER實例,但是卻沒有通過用戶訪問數(shù)據(jù)庫的權限的登錄者使用的。

SQLSERVER 2000中guest用戶可以刪除;而2005/2008中是不能刪除的,卻可以取消CONNECT權限,而且為安全起見,所有用戶定義的數(shù)據(jù)庫中缺省情況下guest用戶的權限都是被取消了的,可在除master和tempdb之外的任何數(shù)據(jù)庫中禁用Guest用戶。

在SQL SERVER 2000中,新建的數(shù)據(jù)庫中沒有Guest用戶,但可以添加它,也可刪除它,添加與刪除方法與普通數(shù)據(jù)庫相同。

在SQL Server 2005或以上版本中GUEST已經(jīng)默認存在于每個數(shù)據(jù)庫中,但默認情況下,會在新數(shù)據(jù)庫中禁用GUEST用戶(在“對象資源管理器→安全性→登錄”節(jié)點中圖標上有禁用標識),我們可以通過以下語句啟用GUEST用戶:GRANT CONNECT TO GUEST 。當你決定不再想讓該數(shù)據(jù)庫被非數(shù)據(jù)庫授權的用戶以GUEST身份進行訪問時,可以再次將GUEST帳號禁用。值得一提的是,GUEST用戶在數(shù)據(jù)庫中不能被刪除,我們只能通過以下語句禁用GUEST用戶:REVOKE CONNECT FROMGUEST 。

在SQL SERVER 2000中,要允許guest用戶帳戶訪問數(shù)據(jù)庫,可以像添加其它數(shù)據(jù)庫用戶那樣添加它,如:

USEDatabase Name

GO

EXECsp_grantdbaccess 'guest'

GO

在SQL SERVER 2005中,允許guest用戶帳戶

USEDatabase Name

GO

GRANT CONNECT TO GUEST

GO

需要提醒的是,對于是否添加Guest用戶要謹慎權衡利弊。

--SQLServer 2000刪除guest用戶賬號

USEDatabase Name

GO

EXECsp_revokedbaccess 'guest'

GO

-- SQLServer 2005禁用guest用戶賬號

USEDatabase Name

GO

REVOKECONNECT FROM GUEST

GO

(七)sa登錄名

SQLServer的 sa登錄名是服務器級的主體。默認情況下,該登錄名是在安裝實例時創(chuàng)建的。在 SQL Server 2005和 SQL Server2008中,sa的默認數(shù)據(jù)庫為 master。這是對早期版本的 SQLServer的行為的更改。

sa(system administrator系統(tǒng)管理員)是為向后兼容而提供的特殊登錄。sysadmin是一種角色。該角色能夠執(zhí)行SQLServer上的任何操作。本質上,任何具有這種角色成員身份的人都是那個服務器上的sa。這種服務器角色的創(chuàng)建為微軟提供了某一天去除sa登錄的能力——實際上,聯(lián)機叢書把sa稱作本質上為遺留物的東西。

與以前版本不同,SQL Server 2008,即使是用混合模式安裝,sa也默認禁用。

注意,sa是一個默認的SQL Server登錄名,擁有操作SQL Server系統(tǒng)的所有權限,該登錄名不能被刪除。當采用混合模式安裝Microsoft SQL Server系統(tǒng)之后,應該為sa指定一個密碼,應為 sa登錄分配一個強密碼(strongpassword)。

sa登錄名會映射到 sysadmin固定服務器角色,它對整個服務器有不能撤銷的管理憑據(jù)。如果攻擊者以系統(tǒng)管理員的身份獲取了訪問權限,則可能造成的危害是無法預計的。

(八)其它幾個默認配置的的登錄(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,是否存在這些,依賴于服務器的配置。如果配置了報表服務器,將出現(xiàn)NETWORK SERVICE登錄賬戶。

INFORMATION_SCHEMA和sys用戶

INFORMATION_SCHEMA和sys又是SQL Server 預定義的架構(內(nèi)置架構)名稱,它們與INFORMATION_SCHEMA和sys用戶具有相同的名稱。不能刪除,主要用于向后兼容性??梢允褂肐NFORMATION_SCHEMA用戶和sys用戶訪問INFORMATION_SCHEMA和sys架構的系統(tǒng)視圖,獲取有關數(shù)據(jù)庫元數(shù)據(jù)信息。

(九)SQL Server中的角色

角色 (role),是SQL Server用來管理服務器和數(shù)據(jù)庫權限的,是安全帳戶的集合,在管理權限時可以視為一個單元——作為分配權限的單位。

SQLServer中的角色分為服務器級別和數(shù)據(jù)庫級別角色。

◇服務器級別角色

服務器級別角色用于幫助管理服務器上的權限。服務器角色的權限作用域為服務器范圍??梢詫⒌卿浢↙ogin Name)添加到服務器角色。

符合權限要求的用戶,可以將服務器級主體(SQL Server登錄名、Windows帳戶和 Windows組)添加到服務器級角色。固定服務器角色的每個成員都可以將其他登錄名添加到該同一角色。

固定服務器角色簡介:

1)sysadmin:系統(tǒng)管理員,角色成員可對SQLServer服務器進行所有的管理工作,為最高管理角色。這個角色一般適合于數(shù)據(jù)庫管理員(DBA)。

2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性??梢允谟?、拒絕、撤銷服務器級和數(shù)據(jù)庫級的權限。另外還可以重置SQL Server登錄名的密碼。

3)serveradmin:服務器管理員,角色成員具有對服務器進行設置及關閉服務器的權限。

4)setupadmin:設置管理員,角色成員可以添加和刪除鏈接服務器,并執(zhí)行某些系統(tǒng)存儲過程。

5)processadmin:進程管理員,角色成員可以終止SQLServer實例中運行的進程。

6)diskadmin:用于管理磁盤文件。

7)dbcreator:數(shù)據(jù)庫創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或還原任何數(shù)據(jù)庫。

8)bulkadmin:可執(zhí)行BULK INSERT語句,但是這些成員對要插入數(shù)據(jù)的表必須有INSERT權限。BULK INSERT語句的功能是以用戶指定的格式復制一個數(shù)據(jù)文件至數(shù)據(jù)庫表或視圖。

9)在sql server 2005 sp2(補?。┘耙院蟀姹?,服務器角色中還可以看到一個public角色。每個 SQL Server登錄名均屬于 public服務器角色。 如果未向某個服務器主體授予或拒絕對某個安全對象的特定權限,該用戶將繼承授予該對象的 public角色的權限。public服務器角色默認擁有 VIEW ANY DATABASE(查看任何數(shù)據(jù)庫)權限。[VIEW ANY DATABASE權限控制是否顯示sys.databases和 sys.sysdatabases視圖以及 sp_helpdb系統(tǒng)存儲過程中的元數(shù)據(jù)(metadata)。]

從 SQL Server 2012開始,您可以創(chuàng)建用戶定義的服務器角色,并將服務器級權限添加到用戶定義的服務器角色。

每個版本的 SQL Server都具有不同的安全功能,版本越高,功能越強。

可以利用系統(tǒng)函數(shù)IS_SRVROLEMEMBER指示當前用戶的 SQLServer登錄名是否是固定服務器角色的成員。

可以利用系統(tǒng)存儲過程sp_helpsrvrolemember返回有關 SQL Server 固定服務器角色成員的信息。

--查詢 sysadmin固定服務器角色的成員。

execsp_helpsrvrolemember 'sysadmin'

◇數(shù)據(jù)庫級別的角色

數(shù)據(jù)庫級別角色用于幫助管理數(shù)據(jù)庫中的權限。數(shù)據(jù)庫級角色的權限作用域為數(shù)據(jù)庫范圍??梢詫數(shù)據(jù)庫]用戶名(User Name)添加到數(shù)據(jù)庫角色。

SQLServer中有兩種類型的數(shù)據(jù)庫級角色:數(shù)據(jù)庫中預定義的“固定數(shù)據(jù)庫角色”和您可以創(chuàng)建的“靈活數(shù)據(jù)庫角色”(自定義數(shù)據(jù)庫角色)。

固定數(shù)據(jù)庫角色是在數(shù)據(jù)庫級別定義的,并且存在于每個數(shù)據(jù)庫中。 db_owner和db_securityadmin數(shù)據(jù)庫角色的成員可以管理固定數(shù)據(jù)庫角色成員身份。但是,只有db_owner數(shù)據(jù)庫角色的成員能夠向db_owner固定數(shù)據(jù)庫角色中添加成員。 msdb數(shù)據(jù)庫中還有一些特殊用途的固定數(shù)據(jù)庫角色。

符合權限要求的用戶,可以向數(shù)據(jù)庫級角色中添加數(shù)據(jù)庫帳戶和其他 SQL Server角色。固定數(shù)據(jù)庫角色的每個成員都可向同一個角色添加其他登錄名。

固定數(shù)據(jù)庫角色簡介:

1)db_owner:數(shù)據(jù)庫所有者,這個數(shù)據(jù)庫角色的成員可執(zhí)行數(shù)據(jù)庫的所有管理操作。

2)db_accessadmin:數(shù)據(jù)庫訪問權限管理者,角色成員具有添加、刪除數(shù)據(jù)庫使用者、數(shù)據(jù)庫角色和組的權限。

3)db_securityadmin:數(shù)據(jù)庫安全管理員,角色成員可管理數(shù)據(jù)庫中的權限,如設置數(shù)據(jù)庫表的增加、刪除、修改和查詢等存取權限。

4)db_ddladmin:數(shù)據(jù)庫DDL管理員,角色成員可增加、修改或刪除數(shù)據(jù)庫中的對象。

5)db_backupoperator:數(shù)據(jù)庫備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫備份的權限。

6)db_datareader:數(shù)據(jù)庫數(shù)據(jù)讀取者,角色成員可以從所有用戶表中讀取數(shù)據(jù)。

7)db_datawriter:數(shù)據(jù)庫數(shù)據(jù)寫入者,角色成員具有對所有用戶表進行增加、刪除、修改的權限。

8)db_denydatareader:數(shù)據(jù)庫拒絕數(shù)據(jù)讀取者,角色成員不能讀取數(shù)據(jù)庫中任何表的內(nèi)容。

9)db_denydatawriter:數(shù)據(jù)庫拒絕數(shù)據(jù)寫入者,角色成員不能對任何表進行增加、刪修、修改操作。

10)public:是一個特殊的數(shù)據(jù)庫角色,每個數(shù)據(jù)庫用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。public數(shù)據(jù)庫角色默認的權限很少[使用某些系統(tǒng)過程查看并顯示master數(shù)據(jù)庫中的信息;執(zhí)行一些不需要一些權限的語句(例如PRINT)]。

可以利用系統(tǒng)函數(shù)IS_MEMBER檢查當前用戶是否是數(shù)據(jù)庫角色或Windows域組的成員。

可以利用系統(tǒng)存儲過程sp_helprolemember顯示數(shù)據(jù)庫角色的成員。

可以利用系統(tǒng)存儲過程sp_helpuser報告有關當前數(shù)據(jù)庫中數(shù)據(jù)庫級主體的信息。

可以利用系統(tǒng)存儲過程sp_helprotect報告當前數(shù)據(jù)庫中某對象的用戶權限或語句權限的信息。

--查詢用戶擁有的數(shù)據(jù)庫角色

useyourdb

execsp_helpuser 'UserName'

go

--查詢用戶被賦予的權限

useyourdb

execsp_helprotect @username = 'user name'

sqlserver 占用內(nèi)存太高怎么解決

第一步:打開企業(yè)管理器雙擊進入要修改的MSSQL.

第二步:在左側MSSQL上點擊右鍵,選擇屬性,彈出SQL Server屬性(配置)對話框(最好打上SQL SP4補?。?/p>

第三步:點擊內(nèi)存選項卡. 在這里,你會看到MSSQL默認設置為使用最大內(nèi)存,也就是你所有的內(nèi)存,根據(jù)你的需要,設置它的最大值(一般為物理內(nèi)存-128M)和最小值(一般為最大內(nèi)存的1/4)吧.

第五步:設置完畢,重啟MSSQL服務,配置即可生效!

SqlServer高版本數(shù)據(jù)備份還原到低版本

最近遇見一個問題:

想要將Sqlserver高版本備份的數(shù)據(jù)還原到低版本SqlServer上去,但是這在SqlServer中是沒法直接還原數(shù)據(jù)庫的,所以經(jīng)過一系列的請教總結出來一下可用方法。

首先、你得在電腦上裝有你將要操作的高版本以及低版本的SqlServer或者你能夠連上SqlServer高版本所在的數(shù)據(jù)庫(便于后面拷貝數(shù)據(jù)),

第二步、打開高版本數(shù)據(jù)庫中你需要備份的數(shù)據(jù)庫,將你備份的數(shù)據(jù)庫相關的登錄名或者用戶刪除。右鍵數(shù)據(jù)庫-任務-生成腳本。在生成腳本的“選擇對象”步驟選擇“編寫整個數(shù)據(jù)庫及所有數(shù)據(jù)庫對象的腳本選項”。在生成腳本的“設置腳本編寫選項”的高級中選項中設置“編寫USE

DATABASE

腳本”和“架構限定對象名稱”選項為False并將“服務器版腳本”選擇為你的低版本的數(shù)據(jù)庫的版本。生成腳本。

第三步、在你低版本的數(shù)據(jù)庫中新建數(shù)據(jù)庫(名稱隨便),打開Sql腳本。將腳本中所有關于原數(shù)據(jù)庫名稱的操作全部刪除,將數(shù)據(jù)庫從第一個alter操作分成兩部分,對新建數(shù)據(jù)庫執(zhí)行第一部分建表操作。

第四步、右鍵新建的數(shù)據(jù)庫-任務-導入數(shù)據(jù),將數(shù)據(jù)來源設置為高版本的數(shù)據(jù)庫,目標設置成當前數(shù)據(jù)庫。然后選擇復制一個或多個圖表。選擇所有的數(shù)據(jù)表,然后在“編輯映射”將”啟用標識插入“選上。導入數(shù)據(jù)

第五步、最后再執(zhí)行前面分割的第二部分Sql腳本,為數(shù)據(jù)庫建索引!

Ok.到此高版本SqlServer數(shù)據(jù)庫在低版本SqlServer中恢復成功

分享第二個案例:

想要將Sqlserver2014高版本備份的數(shù)據(jù)還原到低版本SqlServer2008R2上去,但是這在SqlServer中是沒法直接還原數(shù)據(jù)庫的,通過以下方法可以順利還原。

通過高版本生成sql腳本在低版本執(zhí)行,并且數(shù)據(jù)也能保留。

步驟:任務—》生成腳本—》

下一步-》高級,選擇數(shù)據(jù)庫版本和編寫腳本數(shù)據(jù)類型為架構和數(shù)據(jù),可以保留數(shù)據(jù)。

繼續(xù)下一步完成。

最后在低版本的sql數(shù)據(jù)庫中:

先新建腳本中的數(shù)據(jù)庫,再實行sql生成表結構和數(shù)據(jù)。

完美還原成功!

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


文章題目:sqlserver第二高,sql第二高成績
地址分享:http://weahome.cn/article/hojhgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部