sqlserver憑據(jù),sqlserver服務指定的憑據(jù)無效

不制作證書是否能加密SQLSERVER與客戶端之間傳輸?shù)臄?shù)據(jù)

Microsoft Network Monitor

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設、成都做網(wǎng)站、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務平邑,十余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

這是微軟提供的網(wǎng)絡抓包工具

雖然它是微軟提供的,但所有的協(xié)議parser解析代碼全部都是開源的,采用其支持的特有腳本語言編寫,易理解、易擴展;

它自帶協(xié)議parser比較全面,同時有一個開源社區(qū)提供持續(xù)支持;

另外,它也提供API幫助我們開發(fā)自己的網(wǎng)絡抓包、協(xié)議分析工具。

針對TDS協(xié)議解析需求:

Network Monitor自帶TDS協(xié)議解析器和UI比較友好

Network Monitor自帶TDS協(xié)議解析器在解析和結果展示方面更全面,以下是一個畫面片段,顯示了一個SQL Batch包。

先了解一下SQLSERVER的加密階段

一共有兩個階段

在認證階段,SQLSERVER會使用自生成的自簽名證書,加密客戶端發(fā)過來的登陸用戶名和密碼

在數(shù)據(jù)傳輸階段,如果不使用證書,那么數(shù)據(jù)是使用明文在網(wǎng)絡上進行傳送的

大家可以看一下這篇文章:

SQL Server 連接加密 (1) -- SQL Server connection encyption

網(wǎng)上有很多制作證書的教程,但是制作證書都比較麻煩,客戶端和服務器端都要弄很多東西。

詳細制作證書的過程可以參考園子里的這篇文章:

在SQL Server 2005 中開啟SSL(圖文結合)

當然這篇文章不是講解這個network monitor抓包工具的,所以輕輕帶過就算了

那么,不制作證書怎么加密傳輸?shù)臄?shù)據(jù)啊????

答案就是:同樣使用在認證階段的自生成的自簽名證書

詳細步驟:

步驟1:在SQLSERVER服務器端這邊設置強行加密

步驟2:重啟SQLSERVER,只有重啟SQLSERVER設置才能生效

步驟3:打開network monitor,新建一個capture

步驟4:啟動capture,開始捕獲

步驟5:在客戶端這邊連上服務器端的SQLSERVER,然后你會在network monitor里的看到SSMS這個進程已經(jīng)出現(xiàn)在Network Conversations窗口

步驟6:選中他,你會在Frame Summary窗口看到幀信息

步驟7:如果你在服務器端開啟了“強行加密”,那么收到的數(shù)據(jù)包都會是加密的

大家在Protocol Name這一欄看到的是TLS協(xié)議,而不會是TDS協(xié)議

步驟8:查看幀數(shù)據(jù)

步驟9:如果沒有加密的明文數(shù)據(jù),network monitor就能夠查看出來,并且Protocol Name這一欄顯示的是TDS協(xié)議,因為數(shù)據(jù)包并沒有使用TLS協(xié)議進行封裝

TIPS:當關閉了SSMS的查詢窗口之后,連接還是存在的

很多人會問,關閉了連接,怎么連接還存在,客戶端為什么還會跟服務器端進行通信?????

實際上,這個是客戶端的連接池機制,客戶端不斷發(fā)送keep alive數(shù)據(jù)包給服務器,下次有同樣的連接進行重用了,不需要再進行三次握手o(∩_∩)o

總結

本人介紹了不使用制作證書的方式來對傳輸?shù)臄?shù)據(jù)進行加密的方法,實際上設置客戶端而不設置服務器端也是可以的

不過設置客戶端比較麻煩,還需要在連接字符串里加上encrypt屬性設置為Yes

設置服務器端和設置客戶端的加密的區(qū)別

服務器端:所有的連接都是加密的

客戶端:只是設置了加密的那個連接是加密的,其他沒有設置加密的連接依然是明文傳輸數(shù)據(jù)

當然,使用SQLSERVER自生成的證書安全性是不及自己制作的證書的安全性高?。?/p>

相關連接:

加密與 SQL Server 的連接

使用自簽名證書加密的 SSL 連接不提供強安全性。它們容易在傳輸中途受到攻擊。在生產(chǎn)環(huán)境中或在連接到 Internet 的服務器上,不應依賴使用自簽名證書的 SSL。

始終要對客戶端應用程序與 SQL Server

連接時傳輸?shù)膽{據(jù)(在登錄數(shù)據(jù)包中)進行加密。SQL Server

將使用可信證書頒發(fā)機構頒發(fā)的證書(如果可用)。如果未安裝可信證書,則在啟動實例時 SQL Server

將生成自簽名證書,并使用自簽名證書對憑據(jù)進行加密。自簽名證書有助于提高安全性,但它不提供針對通過服務器進行的身份欺騙的保護。如果使用自簽名證書,

并且 ForceEncryption 選項的值設置為“是”,則將使用自簽名證書對通過網(wǎng)絡在 SQL Server

和客戶端應用程序之間傳輸?shù)乃袛?shù)據(jù)進行加密

如何將SQLSERVER數(shù)據(jù)庫備份到網(wǎng)絡上

定期備份SQL數(shù)據(jù)庫是必須的。?我們已經(jīng)覆蓋的方式就可以輕松備份您的所有SQL Server數(shù)據(jù)庫到本地硬盤中,但這并不能防止驅動器和/或系統(tǒng)故障。?作為針對此類災難的額外保護層,您可以在網(wǎng)絡共享上復制或直接創(chuàng)建備份。

在本地備份,然后復制到網(wǎng)絡共享

完成此任務的首選和最直接的方法是簡單地創(chuàng)建數(shù)據(jù)庫的本地備份,然后將相應的備份文件復制到網(wǎng)絡共享。您可以通過創(chuàng)建如下所示的批處理腳本來完成此操作:

SET LocalFolder = C:Program Files Microsoft SQL ServerMSSQL.1MSSQLBackup?

SqlCmd -E -Q“備份數(shù)據(jù)庫MyDB到磁盤=%LocalFolder%MyDB.bak”?

XCopy“%LocalFolder%MyDB.bak”“\ 192.168.16.55BackupDatabases”/ Z / V?

DEL“%LocalFolder%MyDB.bak”

此腳本執(zhí)行以下操作(逐行):

將變量設置為本地SQL備份目錄。

創(chuàng)建MyDB的SQL備份(使用Windows身份驗證)到本地SQL備份目錄。

將本地備份文件復制到網(wǎng)絡共享。

刪除本地備份文件。

同樣,這是首選方法,因為它的工作原理和備份失敗的可能性是最小的,因為備份是在本地磁盤上創(chuàng)建。?但是,如果沒有足夠的磁盤空間來存儲備份文件的本地副本,則此操作將失敗。?在這種情況下,您需要添加額外的磁盤空間或直接備份到網(wǎng)絡共享。

直接備份到網(wǎng)絡共享

通常,當您嘗試使用以下命令直接創(chuàng)建備份到網(wǎng)絡共享時:

SqlCmd -E -Q“備份數(shù)據(jù)庫MyDB到磁盤=\ 192.168.16.55BackupDatabasesMyDB.bak”

你很可能會得到一個錯誤的行:

消息3201,級別16,狀態(tài)1,服務器JF,行1?

無法打開備份設備\ 192.168.16.55BackupDatabasesMyDB.bak。?操作系統(tǒng)錯誤5(訪問被拒絕。)。?

消息3013,級別16,狀態(tài)1,服務器JF,第1行?

BACKUP DATABASE異常終止。

盡管使用Windows身份驗證(-E開關)和Windows帳戶作為通過Windows資源管理器訪問和復制文件到共享的能力運行SQL備份命令,仍會出現(xiàn)此錯誤。

此操作失敗的原因是SQL命令在SQL Server服務運行的帳戶的邊界內執(zhí)行。?當您在計算機上查看服務列表時,很可能您將看到運行為(登錄為)列的SQL Server服務本地系統(tǒng)或網(wǎng)絡服務,它們是沒有網(wǎng)絡訪問權限的系統(tǒng)帳戶。

在我們的系統(tǒng)上,網(wǎng)絡共享命令的備份失敗,因為我們有SQL Server服務作為本地系統(tǒng)運行,再也無法獲得任何網(wǎng)絡資源。

為了允許SQL直接備份到網(wǎng)絡共享,我們必須將SQL Server服務作為可訪問網(wǎng)絡資源的本地帳戶運行。

編輯SQL Server服務的屬性,并在“登錄”選項卡上將服務配置為作為具有網(wǎng)絡訪問權限的備用帳戶運行。

單擊“確定”后,您將收到一條提示,指示在重新啟動服務之后,設置才會生效。

重新啟動服務。

服務列表現(xiàn)在應顯示SQL Server服務正在作為您配置的帳戶運行。

現(xiàn)在當您運行命令直接備份到網(wǎng)絡共享:

SqlCmd -E -Q“備份數(shù)據(jù)庫MyDB到磁盤=\ 192.168.16.55BackupDatabasesMyDB.bak”

您應該會看到一個成功消息:

處理數(shù)據(jù)庫MyDB的152頁,文件1上的文件MyDB。?

為數(shù)據(jù)庫MyDB處理2頁,文件1上的文件MyDB_log。?

BACKUP DATABASE在0.503秒(2.493 MB /秒)中成功處理了154頁。

使用備份文件現(xiàn)在在網(wǎng)絡共享目錄:

網(wǎng)絡共享注意事項請務必注意,備份命令希望能夠直接連接到網(wǎng)絡共享,而不會提示您輸入憑據(jù)。?您配置要運行的SQL Server服務的帳戶必須與網(wǎng)絡共享具有可信連接,其中相應的憑據(jù)允許訪問,否則可能會發(fā)生以下錯誤:

消息3201,級別16,狀態(tài)1,服務器JF,行1?

無法打開備份設備\ 192.168.16.55BackupDatabasesMyDB.bak。?操作系統(tǒng)錯誤1326(登錄失?。何粗脩裘蛎艽a錯誤。)。?

消息3013,級別16,狀態(tài)1,服務器JF,第1行?

BACKUP DATABASE異常終止。

此錯誤表示網(wǎng)絡共享不接受帳戶的用戶名和密碼,并且命令失敗。

另一個要記住的問題是備份直接執(zhí)行到網(wǎng)絡資源,因此網(wǎng)絡連接中的任何打嗝可能會導致您的備份失敗。?因此,您只應該備份到穩(wěn)定的網(wǎng)絡位置(即可能不是VPN)。

安全隱患

如前所述,使用在本地備份然后復制到網(wǎng)絡共享的方法是首選,因為它允許您將SQL服務作為僅具有本地系統(tǒng)訪問權限的帳戶運行。

通過將服務作為備用帳戶運行,您打開了潛在的安全問題的大門。?例如,惡意SQL腳本可以在備用帳戶下執(zhí)行并攻擊網(wǎng)絡資源。?此外,對相應帳戶(密碼更改/到期或帳戶的刪除/禁用)的任何更改將導致SQL Server服務無法啟動。

如果您使用備用帳戶運行SQL Server實例,請務必記住這些要點。?如果采取適當?shù)念A防措施,則這些不顯示阻止程序,則應考慮添加額外的硬盤驅動器空間,然后實施本地備份和復制,以便可以使用本地帳戶運行SQL服務。

用友怎么把憑證導出來

打開要導出的憑證點擊輸出--輸出

然后選擇文件名及保存類型

選擇類型的時候從后面的備選項中選擇

microsoft.excel

97

(*.xls)

或者是excel的其他版本

點擊保存就行了

保存后的文件需要調整行列

數(shù)據(jù)屬性等

調成你想要的格式就行了

安裝sql2008時提示sql代理服務提供憑據(jù)無效

你這個不是什么大問題。。。只是你輸入的密碼錯誤。。。!!

錯誤提示是說SQL

Server代理的密碼以及Analysis

Services的密碼輸入錯誤,

對于上面的4項賬戶和密碼我建議你使用“對所有的SQLServer服務使用相同的賬戶”,選擇你的系統(tǒng)登錄用戶并設置你的密碼。

下面的幾項服務的賬戶和密碼我安裝的時候也是采用系統(tǒng)的賬戶和密碼的。LZ你可以按照我的要求修改下。我以前也是遇到和你相同的問題,我就是這樣解決的,你現(xiàn)在還好是中文版,容易看懂錯誤信息,我的是英文版的,藐視不太懂。。。

如何使用 SQL Server 身份驗證進行連接

SQL

Server

身份驗證只能在無法進行

Windows

身份驗證時使用。有關使用

Windows

身份驗證進行連接的信息,請參閱如何使用

Windows

身份驗證進行連接。

在使用

SQL

Server

身份驗證連接到

SQL

Server

時必須考慮以下幾點:

必須對服務器啟用

SQL

Server

混合模式身份驗證。

在嘗試建立連接時必須設置

UID

和PWD

連接屬性。UID

和PWD

必須映射到有效的

SQL

Server

用戶和密碼。

注意:

包含右大括號

(})

的密碼必須使用另一個右大括號進行轉義。例如,如果

SQL

Server

密碼為“pass}word”,則

PWD

連接屬性的值必須設置為“pass}}word”。

在使用

SQL

Server

身份驗證連接到

SQL

Server

時應采取以下預防措施:

保護(加密)通過網(wǎng)絡從

Web

服務器傳遞到數(shù)據(jù)庫的憑據(jù)。默認情況下,SQL

Server

2005

SQL

Server

2008

將對憑據(jù)進行加密。為了提高安全性,請將“Encrypt”連接屬性設置為“on”,以便對發(fā)送至服務器的所有數(shù)據(jù)進行加密。

注意:

將“Encrypt”連接屬性設置為“on”可能導致性能降低,因為數(shù)據(jù)加密可能是一項計算密集型操作。

在PHP

腳本的純文本部分中不要包含

UID

和PWD

連接屬性的值。這些值應存儲在具有相應受限權限的特定應用程序目錄中。

避免使用

sa

帳戶。將應用程序映射到擁有所需權限的數(shù)據(jù)庫用戶,并使用強密碼。

注意:

在建立連接時可以設置除

UID

和PWD

之外的連接屬性。有關支持的連接屬性的完整列表,請參閱

sqlsrv_connect。

示例

下面的示例使用

SQL

Server

身份驗證連接到

SQL

Server

的本地實例。所需的

UID

和PWD

連接屬性的值是從

C:\AppData

目錄中特定應用程序的文本文件

uid.txt

和pwd.txt

中提取的。建立連接之后,將查詢服務器以驗證用戶登錄名。

此示例假定本地計算機上已安裝了

SQL

Server

AdventureWorks

數(shù)據(jù)庫。當從瀏覽器運行此示例時,所有的輸出都將寫入該瀏覽器。

?php

/*

Specify

the

server

and

connection

string

attributes.

*/

$serverName

=

"(local)";

/*

Get

UID

and

PWD

from

application-specific

files.

*/

$uid

=

file_get_contents("C:\AppData\uid.txt");

$pwd

=

file_get_contents("C:\AppData\pwd.txt");

$connectionInfo

=

array(

"UID"=$uid,

"PWD"=$pwd,

"Database"="AdventureWorks");

/*

Connect

using

SQL

Server

Authentication.

*/

$conn

=

sqlsrv_connect(

$serverName,

$connectionInfo);

if(

$conn

===

false

)

{

echo

"Unable

to

connect.";

die(

print_r(

sqlsrv_errors(),

true));

}

/*

Query

SQL

Server

for

the

login

of

the

user

accessing

the

database.

*/

$tsql

=

"SELECT

CONVERT(varchar(32),

SUSER_SNAME())";

$stmt

=

sqlsrv_query(

$conn,

$tsql);

if(

$stmt

===

false

)

{

echo

"Error

in

executing

query.";

die(

print_r(

sqlsrv_errors(),

true));

}

/*

Retrieve

and

display

the

results

of

the

query.

*/

$row

=

sqlsrv_fetch_array($stmt);

echo

"User

login:

".$row[0]."";

/*

Free

statement

and

connection

resources.

*/

sqlsrv_free_stmt(

$stmt);

sqlsrv_close(

$conn);

?

安裝SQL2008出現(xiàn)了問題,提示SQLserver代理服務器提供的憑據(jù)無效,請為SQLserver代理服務器提供有效的賬戶

點擊中間的(....使用相同的賬戶),然后點擊用戶名選第二個選項,就ok了

文章名稱:sqlserver憑據(jù),sqlserver服務指定的憑據(jù)無效
標題網(wǎng)址:http://muchs.cn/article12/phjogc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站導航、定制網(wǎng)站、網(wǎng)站營銷、網(wǎng)站制作、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司