2009-09-09 152 views
3

試圖按照以下步驟創建數據庫:創建數據庫::錯誤

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 file activation error occurred. The physical file name 'QmastorAuditData.mdf' may be incorrect. Diagnose and correct additional errors, and retry the operation. Msg 1802, Level 16, State 1, Line 3 CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

任何線索請。

回答

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

格式不錯:) +1! – Kirtan 2009-09-09 07:39:51

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%) 

bye。

0

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%) 
0

今天早些時候我有同樣的問題;我認爲問題在於您正在嘗試編寫數據庫的副本,但無法找到要在後端創建的日誌文件路徑。

我的解決方案是從management studio GUI創建數據庫,然後右鍵單擊原始數據庫,轉到任務,生成腳本,編寫所有對象的腳本,完成。然後,我將生成的腳本複製到新數據庫的「新查詢」中。

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 

該腳本更具可移植性,可以在不做任何修改的情況下部署到多個服務器中。