SQL Server 2019 (Mac) Notes


安裝

安裝過程參考官方教程便可,惟一須要注意的是密碼的選擇。密碼有若干約束node

  • 根據SQL Server的要求,密碼中必須包含數字、英文字母及符號 (non-alphanumeric char)。
  • 在docker命令行下能夠輸入「$」符號,可是在Azure Data Studio會沒法登陸。返回Error 1846, State 1,緣由不明。
  • 當在使用node.js經過mssql驅動進行登陸時,可能會遇到路徑字符串登陸的情形,即sql

    mssql://<username>:<password>@<localhost>/<database>

    若是在password中包含了「@」則會將其後面的內容視做hostname,考慮到這種情形,避免在密碼中包含「@」符號。docker


還原.BAK文件

還原文件須要兩個步驟,第一個步驟是先由SQL Server讀取.BAK文件,並得到其中的邏輯文件名。若是隻是單純地restore database,咱們並不須要知道邏輯文件名,但當咱們須要選擇一個現有的database並保存還原的結果,也就是現有database被覆蓋時,則須要知道這些邏輯文件名。數據庫

-- 步驟1
RESTORE FILELISTONLY
FROM DISK = N'/var/opt/mssql/backup/yon-you.BAK'
GO

SQL Server 2019 (Mac) Notes

由上圖可知,備份文件中包含了兩個文件分別是Ufmodel和Ufmodel_LOG。ide

那麼在下一步,咱們就會用到這兩個名字。命令行

-- 步驟2
USE [master]
RESTORE DATABASE [rebase]
    FROM DISK = N'/var/opt/mssql/backup/yon-you.BAK'
    WITH FILE = 1,
        MOVE N'Ufmodel' TO N'/var/opt/mssql/data/ufdata.mdf',
        MOVE N'Ufmodel_LOG' TO N'/var/opt/mssql/data/ufdata.ldf',
        KEEP_REPLICATION,  NOUNLOAD,  REPLACE,  STATS = 5

不一樣的備份文件中包含的邏輯文件名並不相同,這取決於操做數據庫的軟件在導出backup時起了怎樣的邏輯文件名。rest

相關文章
相關標籤/搜索