尝试按如下方式创建数据库:
USE Master
GO
IF NOT EXISTS(SELECT [Name] FROM sys.databases WHERE [name] = 'QAudit')
CREATE DATABASE [QAudit] ON PRIMARY
( NAME = N'QAuditData', FILENAME = N'<filePath,nvarchar(300),C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\>QAuditData.mdf' , SIZE = 921600KB , FILEGROWTH = 10%)
LOG ON
( NAME = N'QAuditLog', FILENAME = N'<filePath,nvarchar(300),C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\>QAuditLog.ldf' , SIZE = 512000KB , FILEGROWTH = 10%)
GO
获取以下错误:
Msg 5105,Level 16,State 2,Line 3 A 发生文件激活错误。该 物理文件名 'QmastorAuditData.mdf' 可能不正确。诊断并纠正 其他错误,然后重试 操作。 Msg 1802,Level 16,State 1,第3行CREATE DATABASE失败。一些 列出的文件名不能 创建。检查相关错误。
请提供任何线索。
答案 0 :(得分:6)
FILENAME应该是完全限定的路径..我知道在创建数据库时我使用完整的文件夹路径。
USE [master]
GO
CREATE DATABASE [HereTis] ON PRIMARY
(
NAME = N'HereTis',
FILENAME = N'C:\DATA\HereTis.mdf' , --local data path
SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB
)
LOG ON
(
NAME = N'HereTis_log',
FILENAME = N'C:\DATA\HereTis.ldf' , --local data path
SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%
)
GO
答案 1 :(得分:0)
您必须添加名称的路径。
CREATE DATABASE [QAudit] ON PRIMARY ( NAME = N'QAuditData', FILENAME = N'c:\db_directory\QAuditData.mdf' , SIZE = 921600KB , FILEGROWTH = 10%) LOG ON ( NAME = N'QAuditLog', FILENAME = N'c:\db_directory\QAuditLog.ldf' , SIZE = 512000KB , FILEGROWTH = 10%)
再见。
答案 2 :(得分:0)
MDF的路径似乎存在问题。 LDF文件。
CREATE DATABASE [QAudit] ON PRIMARY
(NAME = N'QAudit_data', FILENAME = N'E:\QAudit_data.MDF', SIZE = 614400KB, MAXSIZE = 921600KB, FILEGROWTH = 10%)
LOG ON
(NAME = N'QAudit_log', FILENAME = N'E:\QAudit_log.LDF', SIZE = 102400KB, MAXSIZE = 512000KB, FILEGROWTH = 10%)
答案 3 :(得分:0)
我今天早些时候遇到过同样的问题;我认为问题是您正在尝试编写数据库副本的脚本,但它找不到要在后端创建的日志文件路径。
我的解决方案是从管理工作室GUI创建数据库,然后右键单击原始数据库,转到任务,生成脚本,编写所有对象的脚本,完成。然后,我将生成的脚本复制到新数据库的“新查询”中。
答案 4 :(得分:0)
如果您可以避免硬编码文件路径,那么当您通过脚本创建新数据库时最好。相反,你可以这样做:
首先创建数据库,然后通过alter。
更改文件属性USE [master]
GO
CREATE DATABASE [DBName]
GO
ALTER DATABASE [DBName] MODIFY FILE
( NAME = N'DBName' , SIZE = 512MB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
GO
ALTER DATABASE [DBName] MODIFY FILE
( NAME = N'DBName_log' , SIZE = 256MB , MAXSIZE = UNLIMITED , FILEGROWTH = 10%)
GO
此脚本更具可移植性,无需任何修改即可部署在多台服务器中。