概述
本主題介紹如何連接到運(yùn)行于 Azure 虛擬機(jī)的 SQL Server 實(shí)例怀估。 它介紹了一些常規(guī)連接方案葬凳,并提供了在 Azure VM 中配置 SQL Server 連接的詳細(xì)步驟呻待。
Important
Azure 提供兩個(gè)不同的部署模型用于創(chuàng)建和處理資源:Resource Manager 和經(jīng)典模型票彪。 本文介紹如何使用經(jīng)典部署模型乔妈。 Azure 建議大多數(shù)新部署使用 Resource Manager 模型魔策。 如果使用的是 Resource Manager VM,請參閱使用 Resource Manager 連接到 Azure 上的 SQL Server 虛擬機(jī)杏头。
連接方案
將客戶端連接到虛擬機(jī)上運(yùn)行的 SQL Server 的方式各不相同盈包,具體取決于客戶端的位置與計(jì)算機(jī)/網(wǎng)絡(luò)配置。 這些方案包括:
連接到同一虛擬網(wǎng)絡(luò)中的 SQL Server
Note
使用下列任一方法進(jìn)行連接之前醇王,必須遵循本文中的步驟配置連接呢燥。
連接到同一云服務(wù)中的 SQL Server
可以在同一云服務(wù)中創(chuàng)建多個(gè)虛擬機(jī)。 若要了解此虛擬機(jī)方案寓娩,請參閱如何將虛擬機(jī)連接到虛擬網(wǎng)絡(luò)或云服務(wù)叛氨。 本方案介紹一臺虛擬機(jī)上的客戶端嘗試連接到運(yùn)行于同一云服務(wù)中另一虛擬機(jī)的 SQL Server 時(shí)的情況呼渣。
在此方案中,可使用 VM名稱(在門戶中也顯示為計(jì)算機(jī)名或主機(jī)名)進(jìn)行連接寞埠。 這是你在創(chuàng)建 VM 時(shí)為其提供的名稱屁置。 例如,如果你將 SQL VM 命名為mysqlvm仁连,則同一云服務(wù)中的客戶端 VM 可以使用以下連接字符串進(jìn)行連接:
復(fù)制
"Server=mysqlvm;Integrated Security=false;User ID=;Password="
通過 Internet 連接到 SQL Server
如果想要通過 Internet 連接到 SQL Server 數(shù)據(jù)庫引擎蓝角,則必須創(chuàng)建虛擬機(jī)終結(jié)點(diǎn)以進(jìn)行傳入 TCP 通信。 此 Azure 配置步驟將傳入 TCP 端口通信定向到虛擬機(jī)可以訪問的 TCP 端口饭冬。
若要通過 Internet 進(jìn)行連接使鹅,必須使用 VM 的 DNS 名稱和(本文中稍后配置的)VM 終結(jié)點(diǎn)端口號。 若要查找 DNS 名稱昌抠,請導(dǎo)航到 Azure 門戶患朱,然后選擇“虛擬機(jī)(經(jīng)典)”。 然后選擇你的虛擬機(jī)炊苫。 “DNS 名稱”顯示在“概述”部分中裁厅。
例如,假設(shè)一臺經(jīng)典虛擬機(jī)名為mysqlvm侨艾,其 DNS 名稱為mysqlvm7777.chinacloudapp.cn且 VM 終結(jié)點(diǎn)為57500执虹。 假設(shè)正確配置了連接性,則可從 Internet 上的任意位置使用以下連接字符串訪問該虛擬機(jī):
復(fù)制
"Server=mycloudservice.chinacloudapp.cn,57500;Integrated Security=false;User ID=;Password="
盡管客戶端可通過 Internet 進(jìn)行連接蒋畜,但這并不意味著任何人都可以連接到 SQL Server声畏。 外部客戶端必須有正確的用戶名和密碼。 為了提高安全性姻成,請不要對公共虛擬機(jī)終結(jié)點(diǎn)使用常用的 1433 端口插龄。 如果可能,請考慮在終結(jié)點(diǎn)上添加 ACL 以將流量限制到你允許的客戶端科展。 有關(guān)在終結(jié)點(diǎn)上使用 ACL 的說明均牢,請參閱管理終結(jié)點(diǎn)上的 ACL。
Note
務(wù)必注意才睹,使用此方法與 SQL Server 通信時(shí)徘跪,Azure 數(shù)據(jù)中心的所有傳出數(shù)據(jù)都將服從一般出站數(shù)據(jù)傳輸定價(jià)。
連接到同一虛擬網(wǎng)絡(luò)中的 SQL Server
虛擬網(wǎng)絡(luò)支持其他方案琅攘。 你可以連接同一虛擬網(wǎng)絡(luò)中的 VM垮庐,即使這些 VM 位于不同的云服務(wù)中。 使用站點(diǎn)到站點(diǎn) VPN坞琴,可以創(chuàng)建連接 VM 與本地網(wǎng)絡(luò)和計(jì)算機(jī)的混合體系結(jié)構(gòu)哨查。
虛擬網(wǎng)絡(luò)還可讓你將 Azure VM 加入域。 這是對 SQL Server 使用 Windows 身份驗(yàn)證的唯一方式剧辐。 其他連接方案需要使用用戶名和密碼進(jìn)行 SQL 身份驗(yàn)證寒亥。
如果要配置域環(huán)境和 Windows 身份驗(yàn)證邮府,則不需要使用本文中的步驟來配置公共終結(jié)點(diǎn)或 SQL 身份驗(yàn)證和登錄名。 在此方案中溉奕,你可以在連接字符串中指定 SQL Server VM 名稱以連接 SQL Server 實(shí)例褂傀。 以下示例假設(shè)同時(shí)已配置 Windows 身份驗(yàn)證,并且用戶已獲得訪問 SQL Server 實(shí)例的權(quán)限加勤。
復(fù)制
"Server=mysqlvm;Integrated Security=true"
在 Azure VM 中配置 SQL Server 連接的步驟
以下步驟演示了如何使用 SQL Server Management Studio (SSMS) 通過 Internet 連接到 SQL Server 實(shí)例仙辟。 但是,這些步驟同樣適用于使你的 SQL Server 虛擬機(jī)可以通過本地和 Azure 中運(yùn)行的應(yīng)用程序訪問胸竞。
你必須先完成下列各部分中描述的下列任務(wù)欺嗤,然后才能從其他 VM 或 Internet 連接到 SQL Server 的實(shí)例:
為虛擬機(jī)創(chuàng)建 TCP 終結(jié)點(diǎn)
將 SQL Server 配置為偵聽 TCP 協(xié)議
創(chuàng)建 SQL Server 身份驗(yàn)證登錄名
從其他計(jì)算機(jī)連接到數(shù)據(jù)庫引擎
下圖中概述了連接路徑:
為虛擬機(jī)創(chuàng)建 TCP 終結(jié)點(diǎn)
要從 Internet 訪問 SQL Server,虛擬機(jī)必須具有終結(jié)點(diǎn)以偵聽傳入的 TCP 通信卫枝。 此 Azure 配置步驟將傳入 TCP 端口通信定向到虛擬機(jī)可以訪問的 TCP 端口。
Note
如果你在同一云服務(wù)或虛擬網(wǎng)絡(luò)中連接讹挎,則不需要?jiǎng)?chuàng)建一個(gè)公開訪問的終結(jié)點(diǎn)校赤。 在這種情況下,你可以繼續(xù)執(zhí)行下一步筒溃。 有關(guān)詳細(xì)信息马篮,請參閱連接方案。
在 Azure 門戶中怜奖,選擇“虛擬機(jī)(經(jīng)典)”浑测。
然后選擇 SQL Server 虛擬機(jī)。
選擇“終結(jié)點(diǎn)”歪玲,然后單擊“終結(jié)點(diǎn)”邊欄選項(xiàng)卡頂部的“添加”按鈕迁央。
在“添加終結(jié)點(diǎn)”邊欄選項(xiàng)卡上,提供“名稱”滥崩,例如 SQLEndpoint岖圈。
選擇“TCP”作為“協(xié)議”。
為“公用端口”指定端口號钙皮,如“57500”蜂科。
為“專用端口”,指定 SQL Server 偵聽端口短条,默認(rèn)為“1433”导匣。
單擊“確定” 以創(chuàng)建終結(jié)點(diǎn)。
在 Windows 防火墻中為數(shù)據(jù)庫引擎的默認(rèn)實(shí)例打開 TCP 端口
通過遠(yuǎn)程桌面連接到虛擬機(jī)茸时。 有關(guān)連接到 VM 的詳細(xì)說明贡定,請參閱使用遠(yuǎn)程桌面打開 SQL VM。
登錄后屹蚊,在開始屏幕中厕氨,鍵入“WF.msc”进每,然后按 ENTER。
在“高級安全 Windows 防火墻”的左窗格中命斧,右鍵單擊“入站規(guī)則”田晚,然后在操作窗格中單擊“新建規(guī)則”。
在“新建入站規(guī)則向?qū)А睂υ捒蛑泄幔凇耙?guī)則類型”下贤徒,選擇“端口”,然后單擊“下一步”汇四。
在“協(xié)議和端口”對話框中接奈,使用默認(rèn)TCP。 然后通孽,在“特定本地端口”框中序宦,鍵入數(shù)據(jù)庫引擎實(shí)例的端口號(即默認(rèn)實(shí)例對應(yīng)的端口號1433,或在終結(jié)點(diǎn)步驟中為專用端口選擇的端口號)背苦。
單擊“下一步”互捌。
在“操作”對話框中,選擇“允許連接”行剂,然后單擊“下一步”秕噪。
安全說明:選擇“只允許安全連接”可增加安全性。 如果想在環(huán)境中配置其他安全性選項(xiàng)厚宰,請選擇此選項(xiàng)腌巾。
在“配置文件”對話框中,選擇“公用”铲觉、“專用”和“域”澈蝙。 然后單擊“下一步”。
安全說明:選擇“公用”允許通過 Internet 進(jìn)行訪問备燃。 只要有可能碉克,就請選擇更具限制性的配置文件。
在“名稱”對話框中并齐,鍵入此規(guī)則的名稱和說明漏麦,然后單擊“完成”。
根據(jù)需要為其他組件打開附加端口况褪。 有關(guān)詳細(xì)信息撕贞,請參閱配置 Windows 防火墻以允許 SQL Server 訪問。
將 SQL Server 配置為偵聽 TCP 協(xié)議
在連接到虛擬機(jī)時(shí)测垛,在開始頁面中捏膨,鍵入“SQL Server 配置管理器”,然后按 ENTER。
在 SQL Server 配置管理器中号涯,在控制臺窗格中目胡,展開“SQL Server 網(wǎng)絡(luò)配置”。
在控制臺窗格中链快,單擊“MSSQLSERVER 的協(xié)議”(默認(rèn)實(shí)例名稱)誉己。在詳細(xì)信息窗格中,右鍵單擊“TCP”域蜗,然后單擊“啟用”(如果尚未啟用)巨双。
在控制臺窗格中,單擊“SQL Server 服務(wù)”霉祸。 在詳細(xì)信息窗格中筑累,右鍵單擊SQL Server (實(shí)例名)(默認(rèn)實(shí)例為“SQL Server (MSSQLSERVER)”),然后單擊“重新啟動(dòng)”以停止并重新啟動(dòng)該 SQL Server 實(shí)例丝蹭。**
關(guān)閉 SQL Server 配置管理器慢宗。
有關(guān)啟用 SQL Server 數(shù)據(jù)庫引擎的協(xié)議的詳細(xì)信息,請參閱啟用或禁用服務(wù)器網(wǎng)絡(luò)協(xié)議奔穿。
配置混合模式的 SQL Server 身份驗(yàn)證
在沒有域環(huán)境的情況下婆廊,SQL Server 數(shù)據(jù)庫引擎無法使用 Windows 身份驗(yàn)證。 若要從其他計(jì)算機(jī)連接到數(shù)據(jù)庫引擎巫橄,請將 SQL Server 的身份驗(yàn)證模式配置為混合。 混合模式身份驗(yàn)證同時(shí)允許 SQL Server 身份驗(yàn)證和 Windows 身份驗(yàn)證茵典。
Note
如果你已使用配置的域環(huán)境配置了 Azure 虛擬網(wǎng)絡(luò)湘换,可能沒有必要配置混合模式身份驗(yàn)證。
在連接到虛擬機(jī)時(shí)统阿,在開始頁面中彩倚,鍵入“SQL Server Management Studio”,然后單擊勾選圖標(biāo)扶平。
Management Studio 在首次打開時(shí)帆离,一定會創(chuàng)建用戶 Management Studio 環(huán)境。 這可能需要一小段時(shí)間结澄。
Management Studio 會顯示“連接到服務(wù)器”對話框哥谷。 在“服務(wù)器名稱”框中,鍵入要使用對象資源管理器連接到數(shù)據(jù)庫引擎的虛擬機(jī)的名稱(除了虛擬機(jī)名稱麻献,還可以使用“(local)”或一個(gè)句點(diǎn)作為“服務(wù)器名稱”)们妥。 選擇“Windows 身份驗(yàn)證”,在“用戶名”框中保留“your_VM_name\your_local_administrator”勉吻。 單擊“連接”监婶。
在 SQL Server Management Studio 的“對象資源管理器”中,右鍵單擊 SQL Server 實(shí)例的名稱(虛擬機(jī)名稱),然后單擊“屬性”惑惶。
在“安全性”頁上煮盼,在“服務(wù)器身份驗(yàn)證”下,選擇“SQL Server 和 Windows 身份驗(yàn)證模式”带污,然后單擊“確定”僵控。
在 SQL Server Management Studio 對話框中,單擊“確定”接受重新啟動(dòng) SQL Server 的要求刮刑。
在“對象資源管理器”中喉祭,右鍵單擊你的服務(wù)器,然后單擊“重新啟動(dòng)”雷绢。 (如果 SQL Server 代理正在運(yùn)行泛烙,它也必須重新啟動(dòng)。)
在 SQL Server Management Studio 對話框中翘紊,單擊“是”同意重新啟動(dòng) SQL Server蔽氨。
創(chuàng)建 SQL Server 身份驗(yàn)證登錄名
若要從其他計(jì)算機(jī)連接到數(shù)據(jù)庫引擎,你必須創(chuàng)建至少一個(gè) SQL Server 身份驗(yàn)證登錄名帆疟。
在 SQL Server Management Studio 對象資源管理器中鹉究,展開你要在其中創(chuàng)建新登錄名的服務(wù)器實(shí)例所在的文件夾。
右鍵單擊“安全性”文件夾踪宠,指向“新建”自赔,然后選擇“登錄名…”。
在“登錄名 - 新建”對話框中的“常規(guī)”頁上柳琢,在“登錄名”框中輸入新用戶的名稱绍妨。
選擇“SQL Server 身份驗(yàn)證”。
在“密碼”框中柬脸,輸入新用戶的密碼他去。 在“確認(rèn)密碼”框中再次輸入該密碼。
選擇所需的密碼強(qiáng)制選項(xiàng)(“強(qiáng)制實(shí)施密碼策略”倒堕、“強(qiáng)制密碼過期”和“用戶在下次登錄時(shí)必須更改密碼”)灾测。 如果使用此登錄名,則在下次登錄時(shí)無需更改密碼垦巴。
從“默認(rèn)數(shù)據(jù)庫”列表中媳搪,為該登錄名選擇默認(rèn)數(shù)據(jù)庫。 “master”是此選項(xiàng)的默認(rèn)值魂那。 如果尚未創(chuàng)建用戶數(shù)據(jù)庫蛾号,則將此設(shè)置保留為“master”。
如果這是你創(chuàng)建的第一個(gè)登錄名涯雅,則你可能希望將此登錄名指派為 SQL Server 管理員鲜结。 如果是這樣,請?jiān)凇胺?wù)器角色”頁面上選中“sysadmin”。
Note
sysadmin 固定服務(wù)器角色的成員對數(shù)據(jù)庫引擎具有完全控制權(quán)限精刷。 應(yīng)謹(jǐn)慎限制此角色中的成員資格拗胜。
單擊“確定”。
有關(guān) SQL Server 登錄名的詳細(xì)信息怒允,請參閱創(chuàng)建登錄名埂软。
確定虛擬機(jī)的 DNS 名稱
若要從另一臺計(jì)算機(jī)連接到 SQL Server 數(shù)據(jù)庫引擎,必須知道虛擬機(jī)的域名系統(tǒng) (DNS) 名稱纫事。 (這是 Internet 用于識別虛擬機(jī)的名稱勘畔。 可以使用 IP 地址,但 IP 地址在 Azure 為冗余或維護(hù)而移動(dòng)資源時(shí)可能會變更丽惶。 DNS 名稱將保持不變炫七,因?yàn)榭蓪⒃撁Q重定向到新的 IP 地址。)
在 Azure 門戶中(或在完成前一步后)钾唬,選擇“虛擬機(jī)(經(jīng)典)”万哪。
選擇 SQL VM。
在“虛擬機(jī)”邊欄選項(xiàng)卡中抡秆,復(fù)制虛擬機(jī)的“DNS 名稱”奕巍。
從其他計(jì)算機(jī)連接到數(shù)據(jù)庫引擎
在連接到 Internet 的計(jì)算機(jī)上,打開 SQL Server Management Studio儒士。
在“連接到服務(wù)器”或“連接到數(shù)據(jù)庫引擎”對話框的“服務(wù)器名稱”框中的止,按“DNSName,portnumber”的格式輸入虛擬機(jī)的 DNS 名稱(在前一任務(wù)中確定)和公共終結(jié)點(diǎn)端口號,例如“mysqlvm.chinacloudapp.cn,57500”着撩。
如果不記得之前創(chuàng)建的公共終結(jié)點(diǎn)端口號冲杀,可以在“虛擬機(jī)”邊欄選項(xiàng)卡的“終結(jié)點(diǎn)”區(qū)域中找到。
在“身份驗(yàn)證”框中睹酌,選擇“SQL Server 身份驗(yàn)證”。
在“登錄名”框中剩檀,鍵入在前面的任務(wù)中創(chuàng)建的登錄名憋沿。
在“密碼”框中,鍵入在前面的任務(wù)中創(chuàng)建的登錄名的密碼沪猴。
單擊“連接”辐啄。
后續(xù)步驟
如果還打算針對高可用性和災(zāi)難恢復(fù)使用 AlwaysOn 可用性組,則應(yīng)考慮實(shí)施偵聽器运嗜。 數(shù)據(jù)庫客戶端將連接到偵聽器壶辜,而不是直接連接到一個(gè) SQL Server 實(shí)例。 偵聽器將客戶端路由到可用性組中的主副本担租。 有關(guān)詳細(xì)信息砸民,請參閱在 Azure 中配置 AlwaysOn 可用性組的 ILB 偵聽器。
請務(wù)必查看 Azure 虛擬機(jī)上運(yùn)行的 SQL Server 的所有安全最佳實(shí)踐。 有關(guān)詳細(xì)信息岭参,請參閱Azure 虛擬機(jī)中 SQL Server 的安全注意事項(xiàng)反惕。
有關(guān)其他與在 Azure VM 中運(yùn)行 SQL Server 相關(guān)的主題,請參閱SQL Server on Azure Virtual Machines(Azure 虛擬機(jī)上的 SQL Server)演侯。
立即訪問http://market.azure.cn