SQL Server 2019 (Mac) Notes

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 2019 (Mac) Notes相关的知识,希望对你有一定的参考价值。

安装

安装过程参考官方教程即可,唯一需要注意的是密码的选择。密码有若干约束

  • 根据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时起了怎样的逻辑文件名。

以上是关于SQL Server 2019 (Mac) Notes的主要内容,如果未能解决你的问题,请参考以下文章

mac nodejs连接mysql报错:Client does not support authentication protocol requested by server; consider up

怎么在MAC上安装sql server

SQL Server 2005 - WHERE NOT EXISTS 和 NOT EXISTS 内的复杂脚本

NOT IN vs. NOT EXISTS vs. LEFT JOIN / IS NULL: SQL Server

NOT IN vs. NOT EXISTS vs. LEFT JOIN / IS NULL: SQL Server

Sql server not in 子句不起作用