2017-08-24 20 views
0

を指定するには、テーブルを作成する私は、この難理解構文(申し訳ありませんが、私は:) SQL Serverに新しいです)圧縮オプション

CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name 
    [ AS FileTable ] 
    ({ <column_definition> 
     | <computed_column_definition>  
     | <column_set_definition> 
     | [ <table_constraint> ] 
     | [ <table_index> ] } 
      [ ,...n ]  
      [ PERIOD FOR SYSTEM_TIME (system_start_time_column_name 
      , system_end_time_column_name) ] 
    ) 
    [ ON { partition_scheme_name (partition_column_name) 
      | filegroup 
      | "default" } ] 
    [ TEXTIMAGE_ON { filegroup | "default" } ] 
    [ FILESTREAM_ON { partition_scheme_name 
      | filegroup 
      | "default" } ] 
    [ WITH (<table_option> [ ,...n ]) ] 
[ ; ] 

を使用していますが、私がお聞きしたいのテーブルオプションは

です
<table_option> ::= 
{ 
    [DATA_COMPRESSION = { NONE | ROW | PAGE } 
     [ ON PARTITIONS ({ <partition_number_expression> | <range> } 
     [ , ...n ]) ]] 
..... 

私はT-SQLスクリプトをどのようにフォーマットできますか?

例えば、

CREATE TABLE Black_Cowgirl_tb 
([name] int not null, [location] varchar(50) not null, [SheCanCook] bit not null, [SheCanRideAHorse] bit not null,...) WITH 
(
DATA_COMPRESSION = NONE ON PARTITIONS (1), 
DATA_COMPRESSION = ROW ON PARTITIONS (2, 4, 6 TO 8), 
DATA_COMPRESSION = PAGE ON PARTITIONS (3, 5) 
) 

あなたはデータ圧縮オプションでこれをフォーマットするすべての可能な方法を参加してくださいますか?私はたくさんのことを学びたいですが、決してチャンスがありません。ありがとう。

答えて

0
<table_option> ::= 
{ 
    [DATA_COMPRESSION = { NONE | ROW | PAGE } 
     [ ON PARTITIONS ({ <partition_number_expression> | <range> } 
     [ , ...n ]) ]] 

..... 

あなたはデータ圧縮オプションでこれをフォーマットするすべての可能な方法を参加してくださいますか?角括弧内の

値は以下のmandatory..soされている花のブラケットに必須

data_Compression,ON PARTITIONS,..n 

値であり、あなたがそれらのいずれかを選択する必要がありますを意味します。

{ NONE | ROW | PAGE } 

なしとして、あるいは行またはページを読み取ることができる。この場合

..

ので、最終的に

data_Compression = いずれ又は パーティション(1)上で行ない、またはページ またはパーティション(1-2)

0

あなたのテーブルはパーティションではないので、あなたの例は間違っていますd。エラーが発生した場合は、compressionオプションを誤って使用しているのではなく、作成するテーブルにパーティションがまったくないためです。

ここでは、例の多くを見つけることができます: Creating Compressed Tables and Indexes

例Cは、あなたのケースです:

CREATE TABLE PartitionTable1 
(col1 int, col2 varchar(max)) 
ON myRangePS1 (col1) 
WITH 
(
    DATA_COMPRESSION = ROW ON PARTITIONS (1), 
    DATA_COMPRESSION = PAGE ON PARTITIONS (2 TO 4) 
); 
GO