在Azure Data Studio(MAC)中创建SQL Server数据库

yptwkmov  于 2023-02-15  发布在  Mac
关注(0)|答案(1)|浏览(295)

我正在学习一门基于Transact-SQL语言的数据库管理课程。我发现的第一个问题是在我的操作系统中,因为我使用的是MAC。我不得不在Docker中创建一个SQL容器,并使用Azure Data Studio创建一个连接,我在那里有我的服务器,但我的问题(我被阻止的地方)是这样的:
当我必须为这个数据库创建FILENAME时,我不知道它是我必须保存.mdf.ldf文件的目录,因为我正在从一个不在我的计算机系统中的“虚拟”位置运行我的服务器。

如何解决这个问题

因为我对集装箱一无所知,是第一次使用Docker或类似的...
我已经尝试过在运行Windows的虚拟机中执行此操作,但速度太慢,因此我目前放弃了该选项,我必须使用SQL Server,因为这是课程中使用的语言,我没有任何其他选项。

j8ag8udp

j8ag8udp1#

在默认的Docker容器(您可以使用EXEC master..sp_helpfile;检查)中,数据库文件创建在以下位置:

/var/opt/mssql/data/

所以你可以说:

CREATE DATABASE floob 
ON 
(
  NAME     = N'floob_data', 
  FILENAME = N'/var/opt/mssql/data/floob.mdf'
)
LOG ON
(
  NAME     = N'floob_log',
  FILENAME = N'/var/opt/mssql/data/floob.ldf'
);

这是为了指定文件的 * 位置 * 所需的最小属性集;它将从model获得其他属性(如大小/增长)。
但是,除非课程材料规定您的CREATE DATABASE命令绝对必须包含FILENAME参数,否则在您自己的计算机上构建一些skunkworks内容时,通常可以忽略它们,因为它们将被放置在您实际上不需要知道的默认位置(直到该驱动器填满)。
但在生产环境中,这通常不是最好的主意,因为我们经常需要自定义大小、增长、将数据与日志分离等。

相关问题