RT...那些字符不能用..最大长度事多少.最多可以有多少个列

解决方案 »

  1.   

    常规标识符规则
    常规标识符的格式规则取决于数据库的兼容级别,兼容级别可以用 sp_dbcmptlevel 来设置。有关更多信息,请参见 sp_dbcmptlevel。当兼容级别为 80 时,规则是: 第一个字符必须是下列字符之一: 
    Unicode 标准 2.0 所定义的字母。Unicode 中定义的字母包括拉丁字母 a-z 和 A-Z,以及来自其它语言的字母字符。
    下划线 (_)、at 符号 (@) 或者数字符号 (#)。 
    在 SQL Server 中,某些处于标识符开始位置的符号具有特殊意义。以 at 符号开始的标识符表示局部变量或参数。以一个数字符号开始的标识符表示临时表或过程。以双数字符号 (##) 开始的标识符表示全局临时对象。 某些 Transact-SQL 函数的名称以双 at 符号 (@@) 开始。为避免混淆这些函数,建议不要使用以 @@ 开始的名称。后续字符可以是: 
    Unicode 标准 2.0 所定义的字母。
    来自基本拉丁字母或其它国家/地区脚本的十进制数字。
    at 符号、美元符号 ($)、数字符号或下划线。 
    标识符不能是 Transact-SQL 的保留字。SQL Server 保留其保留字的大写和小写形式。
    不允许嵌入空格或其它特殊字符。 
    当标识符用于 Transact-SQL 语句时,必须用双引号或括号分隔不符合规则的标识符。
      

  2.   

    SQL Server 的每个数据库最多可存储 20 亿个表,每个表可以有 1024 列。表的行数及总大小仅受可用存储空间的限制。每行最多可以存储 8,060 字节。如果创建具有 varchar、nvarchar 或 varbinary 列的表,并且列的字节总数超过 8,060 字节,虽然仍可以创建此表,但会出现警告信息。如果试图插入超过 8,060 字节的行或对行进行更新以至字节总数超过 8,060,将出现错误信息并且语句执行失败。包含 sql_variant 列的 CREATE TABLE 语句可以生成下列警告:The total row size (xx) for table 'yy' exceeds the maximum number of bytes per row (8060). Rows that exceed the maximum number of bytes will not be added.
    出现该警告是因为 sql_variant 的最大长度只能为 8016 字节。当某个 sql_variant 列包含与最大长度接近的值时,它可以超过行的最大大小限制。每个表最多可以有 249 个非聚集索引和一个聚集索引。其中包括所有为支持表中所定义的 PRIMARY KEY 和 UNIQUE 约束而生成的索引。SQL Server 在列定义中并不强制以特定的顺序指定 DEFAULT、IDENTITY、ROWGUIDCOL 或列约束。