Wil*_*dVS 6 sql-server sql-server-2005 sql-server-2000 sql-server-2008
我有一个安装程序,作为安装的一部分创建一个SQL Server 2000(和更高版本)数据库.
一些用户更改数据库服务器,分离数据库,...并想要重新安装.
如果文件存在于默认位置,则会出现以下错误:
无法创建文件'C:\ Program Files\Microsoft SQL Server ...\DATA\mydatabase.mdf',因为它已经存在.
我可以通过先检查默认路径并删除文件来解决这个问题.但是,当用户安装到远程SQL Server时,我该怎么做?
我正在寻找类似的东西:
CREATE DATABASE mydatabase WITH OVERWRITE
Run Code Online (Sandbox Code Playgroud)
编辑:
删除数据库不是解决方案.数据库不存在但文件仍然存在.
现在已经是 2018 年了,生活和 Windows 都发生了变化。
所以我们需要一个新的程序来删除 MDF 文件
删除文件的正确方法是停止 SQL Server,使用文件资源管理器删除文件,然后再次启动服务器。
看启动、停止、暂停、恢复、重新启动 SQL Server 服务
你就完成了
您可以像这样使用 sys.sysdatabase 测试数据库是否存在
IF EXISTS (SELECT * FROM sys.sysdatabases WHERE NAME = 'mydatabase')
BEGIN
DROP DATABASE mydatabase
END
Run Code Online (Sandbox Code Playgroud)
如果要测试特定文件是否已附加到 sql 服务器,您还可以使用系统视图 sys.sysdatabases,因为它包含包含所有数据库的 mdf 文件的“文件名”属性。
如果文件附加到不同的数据库,我认为覆盖它听起来很危险,您可能应该删除附加到文件的数据库。删除数据库将删除基础文件。
如果该文件存在但未连接到 sql 服务器,您可能应该将其删除一次,并确保 drop 在后续删除时删除文件。
归档时间: |
|
查看次数: |
11488 次 |
最近记录: |