Har*_*wok 17 database sql-server sql-server-2005
我正在尝试对数据库名称进行一些UI验证.从不同的地方我被告知SQL Server数据库名称在SQL Server中存储为sysname.我还通过检查sys.Databases来验证.
所以,我让UI中的文本框长度为128个字符.这是sysname类型的最大长度.
但是,我发现在我的SQL Server 2005 Express版本中,如果我输入一个长度为128个字符的数据库名称,它总会抱怨
无法创建默认日志文件,因为名称太长
为了确保我能够成功创建数据库,我发现我需要将最大限制设置为124个字符.
我现在的问题是,对于所有不同Windows操作系统上的所有SQL Server版本,是否有124个字符限制?
Mar*_*ith 16
日志文件名不需要包含数据库名称.
这对我来说很好.例如.
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')
Run Code Online (Sandbox Code Playgroud)
您是否遇到数据和日志文件的文件名问题?基础操作系统(Windows)对它进行了限制,因此无法创建数据库。数据库名称的长度可能为128个字符,并且在使用的文件名不是太长的情况下可以使用(当使用SQL Server Management Studio时,数据库名称会根据数据库名称自动生成文件名,因此最终会很长)。