在SSMS 2008 R2中,我創建了一個表:如何編寫非默認排序規則並跳過顯式腳本以進行默認排序?
aTest(Albnian varchar(10), Dflt varchar(10))
在SSMS表設計,兩列有歸類: 「<數據庫默認>」(在 「列屬性」 → 「表設計器」)
我將列「Albnian」的排序規則更改爲非默認列,例如Albanian_CI_AS。
如果我在SSMS中編寫腳本(右鍵單擊「aTest」→「Script Tables as」→「CREATE To」→「新建查詢編輯器窗口」),我得到[1]沒有明確的排序規則。
壞。
顯然,人們所期望的表與非默認的排序規則(即開發商故意與特定目的引入的一個),並沒有校對默認排序規則明確的排序規則腳本。
在SSMS菜單→工具→選項→SQL Server對象瀏覽器→腳本中,我改變了:
- 包括歸類:真
- 腳本的默認值:假
,但現在,我得到的所有列的排序規則腳本,包括默認和非默認的[2]。
如何將腳本生成配置爲腳本非默認排序並跳過默認排序,如[3]中所示?
表的[1]默認腳本:
CREATE TABLE [dbo].[aTest]
(
[Albnian] [varchar](10) NOT NULL,
[Dflt] [varchar](10) NOT NULL
) ON [PRIMARY]
[2]表腳本 「包括歸類」 後改變爲True
CREATE TABLE [dbo].[aTest]
(
[Albnian] [varchar](10) COLLATE Albanian_CI_AS NOT NULL,
[Dflt] [varchar](10) COLLATE Cyrillic_General_CI_AS NOT NULL
) ON [PRIMARY]
[3]所需整理腳本生成行爲:
CREATE TABLE [dbo].[aTest]
(
[Albnian] [varchar](10) COLLATE Albanian_CI_AS NOT NULL,
--non-default should be scripted
[Dflt] [varchar](10) NOT NULL
-- default database collation should not be scripted
) ON [PRIMARY]
相關問題:
我看到在使用的版本沒有危害[2]。你爲什麼反對呢? – 2010-10-27 14:08:06
這是被部署到不同的默認排序規則的服務器,也無意對列用英語只有文字 – 2010-10-27 14:22:39
在這種情況下,任何西里爾面向固定選項,你可能只是做一個清理後的搜索和替換在您生成的腳本文件中刪除不需要的排序規則。 – 2010-10-27 14:39:22