2015-02-07 85 views
0

我有一個SQL服務器DB腳本文件,我試圖上傳到Azure。azure數據庫管理門戶中的sql語法錯誤

當我在SQL Server Management Studio中執行此腳本時,它運行時沒有任何錯誤。然而,當我在Azure管理門戶打開該文件並執行它,我得到的語法錯誤:

Msg 156, Level 15, State 1, Line 296
Incorrect syntax near the keyword 'ALTER'.

符合296的代碼是:

ALTER TABLE [dbo].[CarsForRent] WITH CHECK 
    ADD CONSTRAINT [FK_CarsForRent_CarTypes] FOREIGN KEY([CarTypeID]) 

二錯誤:

Msg 4917, Level 16, State 0, Line 299
Constraint 'FK_CarsForRent_CarTypes' does not exist.

299行中的代碼是:

ALTER TABLE [dbo].[CarsForRent] CHECK CONSTRAINT [FK_CarsForRent_CarTypes] 

和第三個錯誤:

Msg 4916, Level 16, State 0, Line 299
Could not enable or disable the constraint. See previous errors.

我唯一的猜測是,azure管理門戶不支持所有SQL語句。

如何修復我的代碼,以便我可以將我的數據庫上傳到天青?

謝謝!

+0

將'WITH CHECK'移到第一個查詢的末尾。 – 2015-02-07 15:12:30

+0

當您說腳本從SSMS運行良好時,您的意思是針對Windows Azure SQL數據庫還是本地的?問題代碼可能在行296之前,因此您可能會在您的問題中包含前面的語句。 – 2015-02-07 15:15:03

回答

0

我覺得你在創建一個外鍵時缺少一個至關重要的部分。

ALTER TABLE [dbo].[CarsForRent] WITH CHECK 
ADD CONSTRAINT [FK_CarsForRent_CarTypes] FOREIGN KEY([CarTypeID]) 
REFERENCES TableName(ColumnName) --<-- the table and column this FK 
             -- is referrencing to 
0

最終我使用了「從SQL Server部署數據庫到SQL Azure」工具。 右鍵單擊DB>任務>將數據庫部署到SQL Azure。

相關問題