因上課使用是試用帳戶,一個月到期想把資料備份回地端
我在地端使用SSMS連Azure DB產生指令碼會跳錯
主要問題應該是這段
Microsoft.SqlServer.Management.Common.ExecutionFailureException: 執行 Transact-SQL 陳述式或批次時發生例外狀況。 ---> System.Data.SqlClient.SqlException: Cannot resolve collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS" in concat operator occurring in ORDER BY statement column 1.
查看其他資料表欄位的定序都是預設值,而不勾選產生檢視表指令碼,就可以成功
故參考這篇https://dotblogs.com.tw/stanley14/2017/01/16/215110
修改檢視表,在join on 加入COLLATE Chinese_Taiwan_Stroke_CI_AS,
跳Expression type int is invalid for COLLATE clause.
以下是我修改檢視表的語法
ALTER view [dbo].[abcSearch]
as
select ISNULL(NULL, 1) AS ID,R.abcId ,abcImg, abcName,Rating, abcAddress, abcPhone
from abc a join abcToType b on a.abcId = b.abcId COLLATE Chinese_Taiwan_Stroke_CI_AS join abcType c on b.TypeId = c.TypeId
GO
Id都是int (上面有省略改掉一些東西,有打錯勿見怪)
請問該如何解決?或者有沒辦法像地端資料庫,可以直接備份成bak就好,感謝