Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何将参数的值设置为MB或KB(在MS SQL 2008中)?_Sql Server 2008 - Fatal编程技术网

Sql server 2008 如何将参数的值设置为MB或KB(在MS SQL 2008中)?

Sql server 2008 如何将参数的值设置为MB或KB(在MS SQL 2008中)?,sql-server-2008,Sql Server 2008,如果我这样编写查询,效果会很好: ALTER DATABASE [test] MODIFY FILE ( NAME = N'test_log', SIZE = 3456KB, MAXSIZE = 6789999KB, FILEGROWTH = 2345KB) 但如果我尝试使用参数,这是一个问题: ALTER DATABASE [@DbName] MODIFY FILE ( NAME = N'@LogFileName', SIZE = @InitialSize, MAXSI

如果我这样编写查询,效果会很好:

ALTER DATABASE [test] MODIFY FILE ( 
  NAME = N'test_log', SIZE = 3456KB, 
  MAXSIZE = 6789999KB, FILEGROWTH = 2345KB)
但如果我尝试使用参数,这是一个问题:

ALTER DATABASE [@DbName] MODIFY FILE ( 
  NAME = N'@LogFileName', SIZE = @InitialSize,
  MAXSIZE = @MaxSize , FILEGROWTH = @FileGrowth)
我知道MS SQL 2008具有自动转换功能,但当我使用参数时会出现错误。 所以,我的问题是:声明的参数必须来自哪种类型,我用它来设置大小(以MB为单位)(@InitialSize、@MaxSize、@FileGrowth)

见:

该值可以以MB、KB、GB、TB或百分比(%)为单位指定。如果指定的数字没有MB、KB或%后缀,则默认为MB


N'@LogFileName'不正确,它表示值为
@LogFileName
的字符串,而不是变量

大小的默认值是MB,但我认为不能传入变量。很少有DDL语句接受变量。当他们这样做时,文档指定了
变量\u literal
,就像在的情况下一样,它接受
汇编位的变量