SQL Server 2008 R2 + Node.js
專案要求需要還原SQL Server 2008以前的.bak備份,並匯出CSV或XLSX,因此考慮將還原備份這件事打包成一個本地服務。在區域網內的一臺Windows伺服器上執行,通過RPC和RESTful方法來呼叫。但是畢竟很久不碰Windows了,所以上手遇到一些難度。
前期工作
如果不得不在Windows下進行開發,最快速幫助你找回開發感覺的是一個順手的編輯器和命令列環境。cmder(命令列環境)和VSCode是你的好朋友。Node.js
在Windows下也沒有homebrew或apt一類的東西,直接到官網下載MSI安裝包就可以了。SQL Server 2008 R2 Express
如果想通過Node.js對資料庫進行查詢,可以使用允許SA (SQL authentication) 方式登入。你需要先進入SSMS (SQL Server Management Studio),以Windows賬戶直接登入Object Explorer。登入之後右鍵單擊Object Explorer的根目錄,也就是你的資料庫instance,在選單中選擇Properties,找到Security,在Server Authentication中選擇 “SQL Server and Windows Authentication Mode”。
接下來,在Login中新建一個通過SQL Server Authentication方式登入的使用者賬戶,也就是要通過Node.js登入的使用者賬戶。
接下來要特別注意,Tedious.js的預設查詢埠是1433,但實際上SQL Server會用到一個動態埠。為了保證服務重啟之後Node.js server總是監聽同一個埠,要去 SQL Server Configuration Manager裡面,找到SQL Server Network Configuration中的TCP/IP裡進行設定,將TCP/IP中的Dynamic Ports置空,然後在TCP Port中寫下要監聽的埠。
接下來,你就可以根據Tedious.js提供的示例程式碼快速上手了。