我正在尝试对数据库名称进行一些UI验证.我被告知从不同的地方,sql Server数据库名称存储在sql Server中的
sysname.我也通过检查
sys.Databases来验证.
所以我把我的文本框在UI中的最大长度为128个字符.这是sysname类型的最大长度.
但是,我发现在我的sql Server 2005 Express版本中,如果我输入长度为128个字符的数据库名称,那么它总是抱怨
Could not create default log file because the name was too long
为了确保我可以成功创建数据库,我发现我需要将最大限制设置为124个字符.
我现在的问题是,对于所有不同Windows操作系统上的所有版本的sql Server,是否有124个字符的限制?
解决方法
日志文件名不需要包含数据库名称.
这对我来说比较好.
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')