我为我的 sql server 2008 R2 生成了仅模式脚本,这是其中的一部分:-
USE [master]
GO
/****** Object: Database [****] Script Date: 03/25/2015 12:17:09 ******/
CREATE DATABASE [****] ON PRIMARY
( NAME = N'TMS', FILENAME = N'D:\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\****.mdf' , SIZE = 11264KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'TMS_log', FILENAME = N'L:\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\****.ldf' , SIZE = 4672KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [****] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) …
Run Code Online (Sandbox Code Playgroud) 我想使用 Sql Server 2008 R2 为我们的系统构建一个数据库。但我需要知道存储这些信息的最佳数据类型是什么:-
电子邮件地址
带分机的电话号码,如+44 12345 ext 123
名
富文本编辑器。我们有一个名为“职位角色”或“主要职责”的字段,其中存储了每个员工角色的完整描述。
任何人都可以对此提出建议吗?谢谢
微软在这里提到我们应该使用 rowversion 数据类型而不是 Timestamps。现在在我的 SQL Server 2008 R2 中,我想创建一个具有 Rowversion 数据类型的列。但是在我的 SQL Server 2008 R2 Management Studio 中,我找不到这样的数据类型:
此外,当我尝试使用此语句更改名为时间戳的现有列时,该列的类型为时间戳:
ALTER TABLE [SkillManagement].[dbo].[Customer]
ALTER COLUMN timestamp rowversion
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Msg 4927, Level 16, State 1, Line 1
Cannot alter column 'timestamp' to be data type timestamp
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议吗?
编辑
我应该将文档版本设置为主键吗我正在开发一个文档管理系统,并且我有这两个表代表整个表的一部分。
在 DocumentVersion 表上,我将主键设置为 (version + documentID) 。如果这是一种推荐的方法,其中 documentID 的类型为 int 而版本的类型为 decimal(5,2) ,那么任何人都可以提出建议吗?或者如果我创建一个新字段并将其设置为 DocumentVersion 表中的主键会更好?谢谢