日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server遗失管理权限账号密码怎么办?

發(fā)布時間:2023/12/2 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server遗失管理权限账号密码怎么办? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

假如一個SQL Server實例只允許SQL身份認(rèn)證模式登錄數(shù)據(jù)庫,而糟糕的是你忘記了sa的密碼(sa出于安全考慮應(yīng)該被禁用,這里僅僅為了描述問題)或其它具有sysadmin角色的登錄名的密碼?個人就遇到這樣一個案例,HK一同事在一臺測試服務(wù)器安裝了一個測試用途的SQL Server數(shù)據(jù)庫,然后這個同事離職前沒有交接這個測試服務(wù)器任何信息。那現(xiàn)在就麻煩了。我沒有任何權(quán)限,我如何獲取sysadmin的權(quán)限呢?或者還有比較多的場景需要你獲取數(shù)據(jù)庫的sysadmin權(quán)限,例如你想干點壞事.... 其實這個問題也不難,只要你有這個SQL Server數(shù)據(jù)庫的所在的服務(wù)器的操作系統(tǒng)管理員權(quán)限。

?

首先說明一下,下面腳本在SQL Server 2012、2014環(huán)境下都測試過,下面來一起看看如何在只有操作系統(tǒng)的管理員權(quán)限的情況下獲取數(shù)據(jù)庫的sysamdin權(quán)限。

?

其實在闡述這個問題前,可能要先說一下賬號([builtin\administrators]),在SQL Server 2005的版本中,數(shù)據(jù)庫中[builtin\administrators]登錄名默認(rèn)擁有sysadmin角色,所以,如果是SQL Server 2005數(shù)據(jù)庫,只要你有操作系統(tǒng)的管理員權(quán)限,那么其實你就可以以Windows身份認(rèn)證登錄數(shù)據(jù)庫(前提是服務(wù)器允許Windows身份認(rèn)證登錄),登錄后修改sa賬號密碼即可,但是后續(xù)版本中都剔除了內(nèi)置系統(tǒng)帳戶([builtin\administrators])。那么通常的方法如何做呢?

?

其實只要你有操作系統(tǒng)的管理員權(quán)限,那么借助sqlcmd工具,很容易也很簡單就能獲取擁有sysadmin角色的賬號。

?

1:首先必須單用戶模式啟動SQL Server實例(注意,要以管理員權(quán)限運行cmd窗口,否則可能遇到權(quán)限問題),否則sqlcmd就會遇到類似這樣的問題

?

C:\Windows\system32>sqlcmd

Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login failed for user '

xxx\xxxx’..

C:\>net stop mssqlserverThe SQL Server (MSSQLSERVER) service is stopping.The SQL Server (MSSQLSERVER) service was stopped successfully.??C:\>net start mssqlserver /m"SQLCMD"The SQL Server (MSSQLSERVER) service is starting.The SQL Server (MSSQLSERVER) service was started successfully.

?

?

2:然后在另外一個cmd窗口使用sqlcmd登錄數(shù)據(jù)庫

C:\>?C:\>?C:\>sqlcmd -E?1> ALTER LOGIN sa WITH PASSWORD='qWeR123456';?2> GO?1>

?

參數(shù)-E 表示 [-E trusted connection]? 默認(rèn)即是-E,如上所示,進(jìn)去修改sa的密碼,然后登錄測試發(fā)現(xiàn)sa被禁用了,使用SQL語句允許sa登錄即可。如下所示:

?

?

?

?

當(dāng)然你也可以創(chuàng)建一個賬號授予sysadmin角色。完全沒有問題。

?

C:\>sqlcmd -E1> CREATE LOGIN [xxx\xxx] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]2> GO1> ALTER SERVER ROLE [sysadmin] ADD MEMBER [xxx\xxx]2> GO

?

或者SQL認(rèn)證賬號

?

C:\>sqlcmd -E1> CREATE LOGIN [test1] WITH PASSWORD=N'Qw123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF2> GO1>2>3> ALTER SERVER ROLE [sysadmin] ADD MEMBER [test1]4> GO1>

?

?

是否感覺有點太簡單了,太不安全了?? 系統(tǒng)管理員輕松就獲取了數(shù)據(jù)庫的管理員權(quán)限。 這個功能怎么感覺都不太合理!試想,如果系統(tǒng)被入侵了,分分鐘就能獲取數(shù)據(jù)庫的sysadmin權(quán)限。

?

轉(zhuǎn)載于:https://www.cnblogs.com/kerrycode/p/8931386.html

總結(jié)

以上是生活随笔為你收集整理的SQL Server遗失管理权限账号密码怎么办?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。