Migrating Tables¶
Table Name¶
GaussDB(DWS) does not support the Database name.Schema name.Table name format. You need to convert it to the Schema name.Table name format.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE `analytics-di-dev.abase.buyer_location` ( id_buyer INT, id_location INT ); | CREATE TABLE "abase"."buyer_location" ("id_buyer" INT, "id_location" INT) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("id_buyer"); |
Migration of Table-Level Parameters¶
SQL Server supports the creation of row-compressed tables, while GaussDB(DWS) does not. The tables are deleted during migration.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE dbo.T1 ( c1 INT, c2 NVARCHAR(200) ) WITH (DATA_COMPRESSION = ROW); | CREATE TABLE "dbo"."t1" ("c1" INT, "c2" VARCHAR(200)) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("c1"); |
SQL Server supports the creation of compressed XML tables, while GaussDB(DWS) does not. The tables are deleted during migration.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE dbo.T1 ( c1 INT, c2 XML ) WITH (XML_COMPRESSION = ON); | CREATE TABLE "dbo"."t1" ("c1" INT, "c2" TEXT) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("c1"); |
SQL Server supports the TEXTIMAGE_ON parameter, which indicates that some types of data are stored in a specified file group. GaussDB(DWS) does not support this parameter and deletes it during migration.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE dbo.T1 ( c1 INT, c2 text ) TEXTIMAGE_ON "default"; | CREATE TABLE "dbo"."t1" ("c1" INT, "c2" TEXT) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("c1"); |
SQL Server supports the SYSTEM_VERSIONING parameter, which is used to create a system versioning table. GaussDB(DWS) does not support this parameter and deletes it during migration.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE Department ( DepartmentNumber CHAR(10) NOT NULL PRIMARY KEY, DepartmentName VARCHAR(50) NOT NULL, ManagerID INT NULL ) WITH (SYSTEM_VERSIONING = ON); | CREATE TABLE "department" ( "departmentnumber" CHAR(10) NOT NULL PRIMARY KEY, "departmentname" VARCHAR(50) NOT NULL, "managerid" INT ) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("departmentnumber"); |
Migration of Column-Level Parameters¶
SQL Server supports the creation of tables with sparse columns, but GaussDB(DWS) does not. The tables are deleted during migration.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE dbo.T1 ( c1 INT PRIMARY KEY, c2 VARCHAR(50) SPARSE NULL ); | CREATE TABLE "dbo"."t1" ("c1" INT PRIMARY KEY, "c2" VARCHAR(50)) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("c1"); |
SQL Server supports the FILESTREAM keyword, which is used to specify the FILESTREAM data location of a table. GaussDB(DWS) does not support this keyword and is deleted during migration.
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE dbo.EmployeePhoto ( EmployeeId INT NOT NULL PRIMARY KEY, Photo VARBINARY(MAX) FILESTREAM NULL, MyRowGuidColumn UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL UNIQUE DEFAULT NEWID() ); | CREATE TABLE "dbo"."employeephoto" ( "employeeid" INT NOT NULL PRIMARY KEY, "photo" BYTEA, "myrowguidcolumn" TEXT NOT NULL ) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("employeeid"); CREATE INDEX "idx_employeephoto_myrowguidcolumn" ON "dbo"."employeephoto"("myrowguidcolumn"); |
SQL Server supports clustered and nonclustered indexes, but GaussDB(DWS) does not. The indexes are deleted during migration.
Primary key clustered indexes
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE Department ( DepartmentNumber CHAR(10) NOT NULL PRIMARY KEY CLUSTERED, DepartmentName VARCHAR(50) NOT NULL, ManagerID INT NULL ); | CREATE TABLE "department" ( "departmentnumber" CHAR(10) NOT NULL PRIMARY KEY, "departmentname" VARCHAR(50) NOT NULL, "managerid" INT ) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("departmentnumber"); |
Unique index and nonclustered indexes
SQL Server Syntax | Syntax After Migration |
---|---|
CREATE TABLE Department ( DepartmentNumber CHAR(10) NOT NULL UNIQUE NONCLUSTERED, DepartmentName VARCHAR(50) NOT NULL, ManagerID INT NULL ); | CREATE TABLE "department" ( "departmentnumber" CHAR(10) NOT NULL UNIQUE, "departmentname" VARCHAR(50) NOT NULL, "managerid" INT ) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("departmentnumber"); |