我正在尝试对数据库名称进行一些UI验证.我被告知从不同的地方,sql Server数据库名称存储在sql Server中的
sysname.我也通过检查
sys.Databases来验证.
@H_403_2@所以我把我的文本框在UI中的最大长度为128个字符.这是sysname类型的最大长度.
@H_403_2@但是,我发现在我的sql Server 2005 Express版本中,如果我输入长度为128个字符的数据库名称,那么它总是抱怨
@H_403_2@Could not create default log file because the name was too long@H_403_2@为了确保我可以成功创建数据库,我发现我需要将最大限制设置为124个字符. @H_403_2@我现在的问题是,对于所有不同Windows操作系统上的所有版本的sql Server,是否有124个字符的限制?
解决方法
日志文件名不需要包含数据库名称.
@H_403_2@这对我来说比较好.
CREATE DATABASE [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA] ON PRIMARY ( NAME = N'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',FILENAME = N'C:\Program Files\Microsoft sql Server\MSsql10.MSsqlSERVER\MSsql\DATA\A128.mdf') LOG ON ( NAME = N'A128_log',FILENAME = N'C:\Program Files\Microsoft sql Server\MSsql10.MSsqlSERVER\MSsql\DATA\A128_log.LDF')