SQL Server開放(或關(guān)閉)端口連接的實現(xiàn)步驟
問題的產(chǎn)生
這件事情的起因是這樣的,我在寫vue項目時想用 Sequelize 通過端口號連接本地的 SQL Server,但是之前是通過架構(gòu)訪問本地存儲進(jìn)行CRUD的,本地的 SQL Server 默認(rèn)不打開端口,經(jīng)過我的探索和查閱資料,找到了解決方案。
首先,先看一下我的數(shù)據(jù)庫連接配置:
const sequelize = new Sequelize('database_name', 'username', 'password', { dialect: 'mssql', host: 'localhost', dialectOptions: { driver: 'tedious', }, logging: false, define: { timestamps: true, underscored: true }, pool: { max: 10, min: 0, acquire: 30000, idle: 10000 } }); sequelize.authenticate() .then(() => { console.log('Sequelize 連接數(shù)據(jù)庫成功!'); }) .catch(err => { console.error('Sequelize 連接數(shù)據(jù)庫失?。?, err); }); const Table = sequelize.define('Table', { name: { type: Sequelize.STRING }, sex: { type: Sequelize.STRING }, age: { type: Sequelize.STRING }, }); Table.sync().then(() => { console.log('創(chuàng)建 Tables 表成功!'); });
其中 Sequelize 無法連接到 SQL Server有以下幾個原因,導(dǎo)致連接錯誤:
- SQL Server 未啟動或不可用。檢查 SQL Server 是否正在運(yùn)行,并嘗試從另一臺計算機(jī)或服務(wù)器使用相同的連接參數(shù)測試連接功能。
- 連接參數(shù)錯誤。請確保你的連接參數(shù)包括正確的用戶名、密碼、數(shù)據(jù)庫名稱、數(shù)據(jù)庫主機(jī)名、端口號等。如果端口號不是默認(rèn)的 1433 端口號,則需要通過
dialectOptions
選項將端口號設(shè)置為正確的端口號。 - 防火墻或代理阻止了連接。防火墻或代理可能會阻止你與 SQL Server 建立連接。檢查網(wǎng)絡(luò)防火墻和代理設(shè)置,以查看是否可以配置允許你的服務(wù)器與 SQL Server 進(jìn)行通信。
- 使用無效的證書。如果你正在使用 SSL 連接而沒有使用有效的證書,則可能會遇到此問題。請確保你的證書是受信任的,并且已正確配置到數(shù)據(jù)庫中。
怎么查看 SQL Server 是不是1433端口
在 SQL Server Configuration Manager 中查看
可以通過 SQL Server Configuration Manager 工具來查看 SQL Server 的端口號。具體步驟如下:
- 打開 SQL Server Configuration Manager。
- 展開 SQL Server 網(wǎng)絡(luò)配置。
- 點(diǎn)擊 SQL Server 實例的網(wǎng)絡(luò)配置。
- 在右側(cè)窗格中,可以看到 TCP/IP 協(xié)議和端口號,如果端口號為 0 或沒有列出來,則表示使用的是默認(rèn) 1433 端口。
查看 registry
你也可以通過修改 Windows 注冊表來查看 SQL Server 的端口號。具體步驟如下:
- 打開注冊表編輯器,通過運(yùn)行 regedit 命令。
- 導(dǎo)航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL,其中 Instance Names 是 SQL Server 實例的名稱。
- 在這個節(jié)點(diǎn)下,你可以找到 SQL Server 實例的名稱。
- 導(dǎo)航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server{InstanceName}\MSSQLServer\SuperSocketNetLib\Tcp 上的注冊表中的每個實例名稱({InstanceName}是 SQL Server 實例的名稱),其中可以看到 TCP 端口的值。
在以上兩種情況下,如果沒有找到端口號,則可以認(rèn)為是默認(rèn)端口號 1433。但是,如果客戶端與 SQL Server 不在同一臺計算機(jī)上,則需要確保網(wǎng)絡(luò)中沒有阻塞 TCP 端口 1433。
開放 SQL Server 端口號操作
1.首先找到你的配置管理器,如果你語言選的英文的話應(yīng)該是 SQL Server Configuration Manager
2.找到你 SQL Server 網(wǎng)絡(luò)配置 - MSSQLSERVER 的協(xié)議 - TCP/IP 協(xié)議 - 從”已禁用“狀態(tài)改為”已啟用“
3.通過以上步驟你就打開了SQL Server的 TCP/IP 連接,現(xiàn)在你就可以通過端口號(默認(rèn)1433)訪問了
4.同理,如果你不需要通過訪問端口號的方式訪問,你也可以根據(jù)上述步驟操作關(guān)閉SQL Server的 TCP/IP 連接從而達(dá)到阻止通過端口號訪問的目的
到此這篇關(guān)于SQL Server開放(或關(guān)閉)端口連接的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)SQL開放關(guān)閉端口連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
海量數(shù)據(jù)庫的查詢優(yōu)化及分頁算法方案
海量數(shù)據(jù)庫的查詢優(yōu)化及分頁算法方案...2007-03-03SqlServer應(yīng)用之sys.dm_os_waiting_tasks 引發(fā)的疑問(中)
這篇文章主要介紹了SqlServer應(yīng)用之sys.dm_os_waiting_tasks 引發(fā)的疑問(中) 的相關(guān)資料,需要的朋友可以參考下2015-12-12sqlserver 動態(tài)創(chuàng)建臨時表的語句分享
開發(fā)業(yè)務(wù)需求,需要對一個表作數(shù)據(jù)分析,由于數(shù)據(jù)量較大,而且分析時字段會隨條件相應(yīng)變化而變化2012-01-01Sql Server中一個表2個字段關(guān)聯(lián)同一個表(代碼解決)
Sql Server中一個表2個字段關(guān)聯(lián)同一個表(代碼解決),需要的朋友可以參考一下2013-02-02