sql 2008 filestream如何检查是否存在

sql 2008 filestream如何检查是否存在

我们将开始使用 sql 2008 文件流并按照说明进行设置。我们所做的一件事是将所有内容放在一个 sql 脚本中,该脚本可以多次运行而不会损坏数据或执行不必要的步骤。

到目前为止已经创建了文件流组,现在想要使用以下语句定义文件流数据容器

ALTER DATABASE Production ADD FILE (
       NAME = FSGroup1File,
       FILENAME = 'F:\Production\FSDATA')
TO FILEGROUP FileStreamGroup1;
GO

有什么方法可以检查这是否已经完成?即

if (select COUNT(*) from sys.????? where name = '?????')=0
ALTER DATABASE Production ADD FILE (
       NAME = FSGroup1File,
       FILENAME = 'F:\Production\FSDATA')
TO FILEGROUP FileStreamGroup1;
GO

抱歉,这是一个基本问题,但对于 DB 来说,我还是个新手。

谢谢。

答案1

IF NOT EXISTS (select 1 from sys.database_files where name = 'LogicalFileName')
     ALTER DATABASE...

编辑:更正视图名称以符合 Nick Kavadias 的建议。

答案2

您可以按照 NYSystemsAnalyst 的建议使用 sys.sysfiles。尽管这是 SQL Server 2000 的兼容性视图。首选的系统视图如下:

  • sys.database_files- 复制代码 此视图仅显示当前数据库上下文中的文件。
  • sys.master_files-系统 此视图显示所有数据库的所有文件。

相关内容