概述
本主題介紹如何連接到運行于 Azure 虛擬機的 SQL Server 實例荐吵。 它介紹了一些常規(guī)連接方案,并提供了在 Azure VM 中配置 SQL Server 連接的詳細步驟赊瞬。
Important
Azure 提供兩個不同的部署模型用于創(chuàng)建和處理資源:Resource Manager 和經(jīng)典模型先煎。 本文介紹如何使用經(jīng)典部署模型。 Azure 建議大多數(shù)新部署使用 Resource Manager 模型巧涧。 如果使用的是 Resource Manager VM薯蝎,請參閱使用 Resource Manager 連接到 Azure 上的 SQL Server 虛擬機。
連接方案
將客戶端連接到虛擬機上運行的 SQL Server 的方式各不相同谤绳,具體取決于客戶端的位置與計算機/網(wǎng)絡配置占锯。 這些方案包括:
Note
使用下列任一方法進行連接之前,必須遵循本文中的步驟配置連接缩筛。
連接到同一云服務中的 SQL Server
可以在同一云服務中創(chuàng)建多個虛擬機消略。 若要了解此虛擬機方案,請參閱如何將虛擬機連接到虛擬網(wǎng)絡或云服務瞎抛。 本方案介紹一臺虛擬機上的客戶端嘗試連接到運行于同一云服務中另一虛擬機的 SQL Server 時的情況艺演。
在此方案中,可使用 VM名稱(在門戶中也顯示為計算機名或主機名)進行連接桐臊。 這是你在創(chuàng)建 VM 時為其提供的名稱胎撤。 例如,如果你將 SQL VM 命名為mysqlvm断凶,則同一云服務中的客戶端 VM 可以使用以下連接字符串進行連接:
復制
"Server=mysqlvm;Integrated Security=false;User ID=;Password="
通過 Internet 連接到 SQL Server
如果想要通過 Internet 連接到 SQL Server 數(shù)據(jù)庫引擎伤提,則必須創(chuàng)建虛擬機終結(jié)點以進行傳入 TCP 通信。 此 Azure 配置步驟將傳入 TCP 端口通信定向到虛擬機可以訪問的 TCP 端口认烁。
若要通過 Internet 進行連接肿男,必須使用 VM 的 DNS 名稱和(本文中稍后配置的)VM 終結(jié)點端口號。 若要查找 DNS 名稱却嗡,請導航到 Azure 門戶次伶,然后選擇“虛擬機(經(jīng)典)”。 然后選擇你的虛擬機稽穆。 “DNS 名稱”顯示在“概述”部分中。
例如赶撰,假設一臺經(jīng)典虛擬機名為mysqlvm舌镶,其 DNS 名稱為mysqlvm7777.chinacloudapp.cn且 VM 終結(jié)點為57500柱彻。 假設正確配置了連接性,則可從 Internet 上的任意位置使用以下連接字符串訪問該虛擬機:
復制
"Server=mycloudservice.chinacloudapp.cn,57500;Integrated Security=false;User ID=;Password="
盡管客戶端可通過 Internet 進行連接餐胀,但這并不意味著任何人都可以連接到 SQL Server哟楷。 外部客戶端必須有正確的用戶名和密碼。 為了提高安全性否灾,請不要對公共虛擬機終結(jié)點使用常用的 1433 端口卖擅。 如果可能,請考慮在終結(jié)點上添加 ACL 以將流量限制到你允許的客戶端墨技。 有關在終結(jié)點上使用 ACL 的說明惩阶,請參閱管理終結(jié)點上的 ACL。
Note
務必注意扣汪,使用此方法與 SQL Server 通信時断楷,Azure 數(shù)據(jù)中心的所有傳出數(shù)據(jù)都將服從一般出站數(shù)據(jù)傳輸定價。
連接到同一虛擬網(wǎng)絡中的 SQL Server
虛擬網(wǎng)絡支持其他方案崭别。 你可以連接同一虛擬網(wǎng)絡中的 VM冬筒,即使這些 VM 位于不同的云服務中。 使用站點到站點 VPN茅主,可以創(chuàng)建連接 VM 與本地網(wǎng)絡和計算機的混合體系結(jié)構夯秃。
虛擬網(wǎng)絡還可讓你將 Azure VM 加入域。 這是對 SQL Server 使用 Windows 身份驗證的唯一方式锦积。 其他連接方案需要使用用戶名和密碼進行 SQL 身份驗證妓湘。
如果要配置域環(huán)境和 Windows 身份驗證,則不需要使用本文中的步驟來配置公共終結(jié)點或 SQL 身份驗證和登錄名学搜。 在此方案中娃善,你可以在連接字符串中指定 SQL Server VM 名稱以連接 SQL Server 實例。 以下示例假設同時已配置 Windows 身份驗證瑞佩,并且用戶已獲得訪問 SQL Server 實例的權限聚磺。
復制
"Server=mysqlvm;Integrated Security=true"
在 Azure VM 中配置 SQL Server 連接的步驟
以下步驟演示了如何使用 SQL Server Management Studio (SSMS) 通過 Internet 連接到 SQL Server 實例。 但是炬丸,這些步驟同樣適用于使你的 SQL Server 虛擬機可以通過本地和 Azure 中運行的應用程序訪問瘫寝。
你必須先完成下列各部分中描述的下列任務,然后才能從其他 VM 或 Internet 連接到 SQL Server 的實例:
將 SQL Server 配置為偵聽 TCP 協(xié)議
下圖中概述了連接路徑:
為虛擬機創(chuàng)建 TCP 終結(jié)點
要從 Internet 訪問 SQL Server稠炬,虛擬機必須具有終結(jié)點以偵聽傳入的 TCP 通信焕阿。 此 Azure 配置步驟將傳入 TCP 端口通信定向到虛擬機可以訪問的 TCP 端口。
Note
如果你在同一云服務或虛擬網(wǎng)絡中連接首启,則不需要創(chuàng)建一個公開訪問的終結(jié)點暮屡。 在這種情況下,你可以繼續(xù)執(zhí)行下一步毅桃。 有關詳細信息褒纲,請參閱連接方案准夷。
在 Azure 門戶中,選擇“虛擬機(經(jīng)典)”莺掠。
然后選擇 SQL Server 虛擬機衫嵌。
選擇“終結(jié)點”,然后單擊“終結(jié)點”邊欄選項卡頂部的“添加”按鈕彻秆。
在“添加終結(jié)點”邊欄選項卡上楔绞,提供“名稱”,例如 SQLEndpoint唇兑。
選擇“TCP”作為“協(xié)議”酒朵。
為“公用端口”指定端口號,如“57500”幔亥。
為“專用端口”耻讽,指定 SQL Server 偵聽端口,默認為“1433”帕棉。
單擊“確定” 以創(chuàng)建終結(jié)點针肥。
在 Windows 防火墻中為數(shù)據(jù)庫引擎的默認實例打開 TCP 端口
通過遠程桌面連接到虛擬機。 有關連接到 VM 的詳細說明香伴,請參閱使用遠程桌面打開 SQL VM慰枕。
登錄后,在開始屏幕中即纲,鍵入“WF.msc”具帮,然后按 ENTER。
在“高級安全 Windows 防火墻”的左窗格中低斋,右鍵單擊“入站規(guī)則”蜂厅,然后在操作窗格中單擊“新建規(guī)則”。
在“新建入站規(guī)則向?qū)А睂υ捒蛑胁渤耄凇耙?guī)則類型”下掘猿,選擇“端口”,然后單擊“下一步”唇跨。
在“協(xié)議和端口”對話框中稠通,使用默認TCP。 然后买猖,在“特定本地端口”框中改橘,鍵入數(shù)據(jù)庫引擎實例的端口號(即默認實例對應的端口號1433,或在終結(jié)點步驟中為專用端口選擇的端口號)玉控。
單擊“下一步”飞主。
在“操作”對話框中,選擇“允許連接”,然后單擊“下一步”既棺。
安全說明:選擇“只允許安全連接”可增加安全性讽挟。 如果想在環(huán)境中配置其他安全性選項,請選擇此選項丸冕。
在“配置文件”對話框中,選擇“公用”薛窥、“專用”和“域”胖烛。 然后單擊“下一步”。
安全說明:選擇“公用”允許通過 Internet 進行訪問诅迷。 只要有可能佩番,就請選擇更具限制性的配置文件。
在“名稱”對話框中罢杉,鍵入此規(guī)則的名稱和說明趟畏,然后單擊“完成”。
根據(jù)需要為其他組件打開附加端口滩租。 有關詳細信息赋秀,請參閱配置 Windows 防火墻以允許 SQL Server 訪問。
將 SQL Server 配置為偵聽 TCP 協(xié)議
在連接到虛擬機時律想,在開始頁面中猎莲,鍵入“SQL Server 配置管理器”,然后按 ENTER技即。
在 SQL Server 配置管理器中著洼,在控制臺窗格中,展開“SQL Server 網(wǎng)絡配置”而叼。
在控制臺窗格中身笤,單擊“MSSQLSERVER 的協(xié)議”(默認實例名稱)。在詳細信息窗格中葵陵,右鍵單擊“TCP”液荸,然后單擊“啟用”(如果尚未啟用)。
在控制臺窗格中埃难,單擊“SQL Server 服務”莹弊。 在詳細信息窗格中,右鍵單擊SQL Server (實例名)(默認實例為“SQL Server (MSSQLSERVER)”)涡尘,然后單擊“重新啟動”以停止并重新啟動該 SQL Server 實例忍弛。**
關閉 SQL Server 配置管理器。
有關啟用 SQL Server 數(shù)據(jù)庫引擎的協(xié)議的詳細信息考抄,請參閱啟用或禁用服務器網(wǎng)絡協(xié)議细疚。
配置混合模式的 SQL Server 身份驗證
在沒有域環(huán)境的情況下,SQL Server 數(shù)據(jù)庫引擎無法使用 Windows 身份驗證川梅。 若要從其他計算機連接到數(shù)據(jù)庫引擎疯兼,請將 SQL Server 的身份驗證模式配置為混合然遏。 混合模式身份驗證同時允許 SQL Server 身份驗證和 Windows 身份驗證。
Note
如果你已使用配置的域環(huán)境配置了 Azure 虛擬網(wǎng)絡吧彪,可能沒有必要配置混合模式身份驗證待侵。
在連接到虛擬機時,在開始頁面中姨裸,鍵入“SQL Server Management Studio”秧倾,然后單擊勾選圖標。
Management Studio 在首次打開時傀缩,一定會創(chuàng)建用戶 Management Studio 環(huán)境那先。 這可能需要一小段時間。
Management Studio 會顯示“連接到服務器”對話框赡艰。 在“服務器名稱”框中售淡,鍵入要使用對象資源管理器連接到數(shù)據(jù)庫引擎的虛擬機的名稱(除了虛擬機名稱,還可以使用“(local)”或一個句點作為“服務器名稱”)慷垮。 選擇“Windows 身份驗證”揖闸,在“用戶名”框中保留“your_VM_name\your_local_administrator”。 單擊“連接”换帜。
在 SQL Server Management Studio 的“對象資源管理器”中楔壤,右鍵單擊 SQL Server 實例的名稱(虛擬機名稱),然后單擊“屬性”惯驼。
在“安全性”頁上蹲嚣,在“服務器身份驗證”下,選擇“SQL Server 和 Windows 身份驗證模式”祟牲,然后單擊“確定”隙畜。
在 SQL Server Management Studio 對話框中,單擊“確定”接受重新啟動 SQL Server 的要求说贝。
在“對象資源管理器”中议惰,右鍵單擊你的服務器,然后單擊“重新啟動”乡恕。 (如果 SQL Server 代理正在運行言询,它也必須重新啟動。)
在 SQL Server Management Studio 對話框中傲宜,單擊“是”同意重新啟動 SQL Server运杭。
創(chuàng)建 SQL Server 身份驗證登錄名
若要從其他計算機連接到數(shù)據(jù)庫引擎,你必須創(chuàng)建至少一個 SQL Server 身份驗證登錄名函卒。
在 SQL Server Management Studio 對象資源管理器中辆憔,展開你要在其中創(chuàng)建新登錄名的服務器實例所在的文件夾。
右鍵單擊“安全性”文件夾,指向“新建”虱咧,然后選擇“登錄名…”熊榛。
在“登錄名 - 新建”對話框中的“常規(guī)”頁上,在“登錄名”框中輸入新用戶的名稱腕巡。
選擇“SQL Server 身份驗證”玄坦。
在“密碼”框中,輸入新用戶的密碼绘沉。 在“確認密碼”框中再次輸入該密碼营搅。
選擇所需的密碼強制選項(“強制實施密碼策略”、“強制密碼過期”和“用戶在下次登錄時必須更改密碼”)梆砸。 如果使用此登錄名,則在下次登錄時無需更改密碼园欣。
從“默認數(shù)據(jù)庫”列表中帖世,為該登錄名選擇默認數(shù)據(jù)庫。 “master”是此選項的默認值沸枯。 如果尚未創(chuàng)建用戶數(shù)據(jù)庫日矫,則將此設置保留為“master”。
如果這是你創(chuàng)建的第一個登錄名绑榴,則你可能希望將此登錄名指派為 SQL Server 管理員哪轿。 如果是這樣,請在“服務器角色”頁面上選中“sysadmin”翔怎。
Note
sysadmin 固定服務器角色的成員對數(shù)據(jù)庫引擎具有完全控制權限窃诉。 應謹慎限制此角色中的成員資格。
單擊“確定”赤套。
有關 SQL Server 登錄名的詳細信息飘痛,請參閱創(chuàng)建登錄名。
確定虛擬機的 DNS 名稱
若要從另一臺計算機連接到 SQL Server 數(shù)據(jù)庫引擎容握,必須知道虛擬機的域名系統(tǒng) (DNS) 名稱宣脉。 (這是 Internet 用于識別虛擬機的名稱。 可以使用 IP 地址剔氏,但 IP 地址在 Azure 為冗余或維護而移動資源時可能會變更塑猖。 DNS 名稱將保持不變,因為可將該名稱重定向到新的 IP 地址谈跛。)
在 Azure 門戶中(或在完成前一步后)羊苟,選擇“虛擬機(經(jīng)典)”。
選擇 SQL VM币旧。
在“虛擬機”邊欄選項卡中践险,復制虛擬機的“DNS 名稱”。
從其他計算機連接到數(shù)據(jù)庫引擎
在連接到 Internet 的計算機上,打開 SQL Server Management Studio巍虫。
在“連接到服務器”或“連接到數(shù)據(jù)庫引擎”對話框的“服務器名稱”框中彭则,按“DNSName,portnumber”的格式輸入虛擬機的 DNS 名稱(在前一任務中確定)和公共終結(jié)點端口號,例如“mysqlvm.chinacloudapp.cn,57500”占遥。
如果不記得之前創(chuàng)建的公共終結(jié)點端口號俯抖,可以在“虛擬機”邊欄選項卡的“終結(jié)點”區(qū)域中找到。
在“身份驗證”框中瓦胎,選擇“SQL Server 身份驗證”芬萍。
在“登錄名”框中,鍵入在前面的任務中創(chuàng)建的登錄名搔啊。
在“密碼”框中柬祠,鍵入在前面的任務中創(chuàng)建的登錄名的密碼。
單擊“連接”负芋。
后續(xù)步驟
如果還打算針對高可用性和災難恢復使用 AlwaysOn 可用性組漫蛔,則應考慮實施偵聽器。 數(shù)據(jù)庫客戶端將連接到偵聽器旧蛾,而不是直接連接到一個 SQL Server 實例莽龟。 偵聽器將客戶端路由到可用性組中的主副本。 有關詳細信息锨天,請參閱在 Azure 中配置 AlwaysOn 可用性組的 ILB 偵聽器毯盈。
請務必查看 Azure 虛擬機上運行的 SQL Server 的所有安全最佳實踐。 有關詳細信息病袄,請參閱Azure 虛擬機中 SQL Server 的安全注意事項搂赋。
有關其他與在 Azure VM 中運行 SQL Server 相關的主題,請參閱SQL Server on Azure Virtual Machines(Azure 虛擬機上的 SQL Server)陪拘。
立即訪問http://market.azure.cn