【发布时间】:2014-05-18 22:03:24
【问题描述】:
如果我创建一个包含所有 sql 对象的 .sqlproj 文件,为什么我需要将我的 mdf、ldf 文件放入 VS Team Services 源存储库? .mdf 不包含所有数据吗?如果这是真的,那么我可能不想将所有数据存储在我的仓库中?如果我需要重新创建数据库,我总是可以将数据库发布到 localdb 吗?这里有哪些最佳做法?
【问题讨论】:
标签: mdf azure-devops ldf
如果我创建一个包含所有 sql 对象的 .sqlproj 文件,为什么我需要将我的 mdf、ldf 文件放入 VS Team Services 源存储库? .mdf 不包含所有数据吗?如果这是真的,那么我可能不想将所有数据存储在我的仓库中?如果我需要重新创建数据库,我总是可以将数据库发布到 localdb 吗?这里有哪些最佳做法?
【问题讨论】:
标签: mdf azure-devops ldf
您不会对实际的 .MDF 和 .LDF 文件进行源代码控制;它们包含您的实际数据。
但是,有些用例需要控制磁盘上的位置您的 .MDF 和 .LDF 文件的存在位置。在这种情况下,在 .sqlproj 文件中包含一个定义 MDF/LDF 文件位置的文件组文件可能是有意义的。
例如,假设您有一个大的 D: 驱动器希望存储数据,以及一个由 SSD 组成的高速 E: 驱动器希望存储索引。从您的 .sqlproj 存储文件夹中,您可以:
然后,您可以修改表以包含这样的 ON {FileGroup} 子句:
CREATE TABLE [dbo].[MyTable] (
MyTableID INT IDENTITY(1,1) NOT NULL,
OtherIndexField NVARCHAR(50) NULL,
...
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED ([MyTableID] ASC)
) ON [Data];
CREATE NONCLUSTERED INDEX [IX_MyTableByOtherIndexField]
ON [dbo].[MyTable]([OtherIndexField] ASC)
ON [Index];
【讨论】: