安装
安装过程参考官方教程即可,唯一需要注意的是密码的选择。密码有若干约束
- 根据SQL Server的要求,密码中必须包含数字、英文字母及符号 (non-alphanumeric char)。
- 在docker命令行下可以输入“$”符号,但是在Azure Data Studio会无法登录。返回Error 1846, State 1,原因不明。
-
当在使用node.js通过mssql驱动进行登录时,可能会遇到路径字符串登录的情形,即
mssql://<username>:<password>@<localhost>/<database>
如果在password中包含了“@”则会将其后面的内容视作hostname,考虑到这种情形,避免在密码中包含“@”符号。
还原.BAK文件
还原文件需要两个步骤,第一个步骤是先由SQL Server读取.BAK文件,并获得其中的逻辑文件名。如果只是单纯地restore database,我们并不需要知道逻辑文件名,但当我们需要选择一个现有的database并保存还原的结果,也就是现有database被覆盖时,则需要知道这些逻辑文件名。
-- 步骤1
RESTORE FILELISTONLY
FROM DISK = N‘/var/opt/mssql/backup/yon-you.BAK‘
GO
由上图可知,备份文件中包含了两个文件分别是Ufmodel和Ufmodel_LOG。
那么在下一步,我们就会用到这两个名字。
-- 步骤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时起了怎样的逻辑文件名。