⑴ 如何在sql server2008同时创建主数据文件和辅助数据文件
如果是写语句的,可以参考一下帮助文件:
CREATEDATABASESales
ONPRIMARY
(NAME=SPri1_dat,
FILENAME='D:SalesDataSPri1dat.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=15%),
(NAME=SPri2_dat,
FILENAME='D:SalesDataSPri2dt.ndf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=15%),
FILEGROUPSalesGroup1
(NAME=SGrp1Fi1_dat,
FILENAME='D:SalesDataSG1Fi1dt.ndf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5),
(NAME=SGrp1Fi2_dat,
FILENAME='D:SalesDataSG1Fi2dt.ndf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5),
FILEGROUPSalesGroup2
(NAME=SGrp2Fi1_dat,
FILENAME='D:SalesDataSG2Fi1dt.ndf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5),
(NAME=SGrp2Fi2_dat,
FILENAME='D:SalesDataSG2Fi2dt.ndf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOGON
(NAME=Sales_log,
FILENAME='E:SalesLogsalelog.ldf',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB);
GO
如果是图形界面:
⑵ 如何在sql server 中创建文件组
create database GSM1
on primary --主文件及主文件组
(
name = main1, --逻辑文件名
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian1.mdf', --物理文件名
size = 10MB, --初始大小
filegrowth = 1MB --增长速度
),
(
name = main2,
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian2.ndf',
size = 10MB, filegrowth = 1MB
),
filegroup group1 --文件组group1
(
name = data, filename = 'F:数据库GSMdata.ndf', size = 5MB, filegrowth = 1MB
),
filegroup group2 --文件组group2
(
name = indexInfo, filename = 'D:SQL2005indexGSMindexInfo.ndf', size = 5MB, filegrowth = 1MB
)
log on --日志文件
(
name = 'GSM.log',
filename = 'c:program filesmicrosoft sql servermssql.2mssqldataGSMlog.ldf' ,
size = 2048KB , filegrowth = 1MB
)
(2)sql语句创建主文件扩展阅读:
SQL SERVER中文件组的用途
1、在指定文件组里创建表
--在指定文件组中创建文件
create table Test
(
Tid int primary key identity,
Title01 nvarchar(100) default('标题01'),
Title02 nvarchar(100) default('标题02'),
Title03 nvarchar(100) default('标题03'),
DataStatus tinyint default(0) --0~255 size:1字节
) on TestData
2、利用文件组创建数据库
--创建数据库
create database BigValues
on primary --数据库文件,主文件组
(
name='BigValues_Data', --逻辑名
size=10mb, --初始大小
filegrowth=10%, --文件增长
maxsize=1024mb, --最大值
filename=N'E:\SQL\BigValues_Data.mdf'--存放路径(包含文件后缀名)
),
(
name='BigValues_Data1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data1.mdf'
),
filegroup TestData --TestData文件组(表创建到不同的文件组里面可以分担压力)
(
name='BigValues_Data_Num1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'E:\SQL\BigValues_Data_Num1.ndf'
),
(
name='BigValues_Data_Num2',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data_Num2.ndf'
)
log on --日记
(
name='BigValues_Log1',
size=5mb,
filegrowth=5%,
filename=N'E:\SQL\BigValues_log1.ldf'
),
(
name='BigValues_Log2',
size=5mb,
filegrowth=5%,
filename=N'F:\Work\SQL\BigValues_log2.ldf'
)
go
⑶ sql 语句如何创建文件,不是创建文件夹哦
有这样的用法吗?
你是不是想用sql创建表空间啊,是的话就
create tablespace dataA(表空间名)datafile 'C:\oradata\dataA.dbf' size 2000m;
意思是创建一个名为dataA的表空间,放在'C:\oradata\下,大小为2000兆。
⑷ SqlServer用sql语句怎么创建文件
假设数据库名称为pubs,添加一个名为pubs_data2的次要数据文件,代码为
ALTER DATABASE pubs
ADD FILE
(
NAME = 'pubs_data2',
FILENAME ='pubs_data2.ndf' ,
SIZE = 10mb ,
FILEGROWTH = 1mb )
TO FILEGROUP PRIMARY
次要数据文件与主数据文件作用基本一样,当你的主数据文件空间不足而且由于磁盘限制无法增长时,就只能添加新的数据文件了。
⑸ Sql语句创建数据文件,和日志文件问题
你看你,怎么这么不小心啊,首先你的语法是没有错误的,但是你看你的日志文件名字怎么和主数据库文件名一样啊,把你的日志文件名改成hufang_log就行了啊!!!呵呵!!
Log on
(
/*--日志文件具体描述同上--*/
name='hufang_log',
Filename='F:\project\hufang_log.ldf',
Size=2MB,
MaxSize=10MB,
FIleGrowth=15%
)
go
⑹ 怎么用sql语句创建文件夹
create table #([output] varchar(8000))
declare @BackupPath varchar(200)
set @BackupPath='D:\文件夹'
set @BackupPath='dir '+@BackupPath+''
insert into # exec master..xp_cmdshell @BackupPath
if exists(select 1 from # where [output]='找不到文件')
begin
set @BackupPath=replace(@BackupPath,'dir ','md ')
exec master..xp_cmdshell @BackupPath
end
else
begin
print '文件夹已存在!'
end
drop table #
⑺ 如何使用sql语句创建数据库
CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
[ PRIMARY ] <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]
<option> ::=
{
FILESTREAM ( <filestream_option> [,...n ] )
| DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
| DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON}
| TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
| DB_CHAINING { OFF | ON }
| TRUSTWORTHY { OFF | ON }
}
<filestream_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
| DIRECTORY_NAME = 'directory_name'
}
To attach a database
CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
| ATTACH_REBUILD_LOG }
[;]
<filespec> ::=
{
(
NAME = logical_file_name ,
FILENAME = { 'os_file_name' | 'filestream_path' }
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}
<filegroup> ::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
<filespec> [ ,...n ]
}
<attach_database_option> ::=
{
<service_broker_option>
| RESTRICTED_USER
| FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}
<service_broker_option> ::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}
Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name'
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]
database_name
新数据库的名称。
数据库名称在 SQL Server 的实例中必须唯一,并且必须符合 标识符规则。
除非没有为日志文件指定逻辑名称,否则 database_name 最多可以包含 128 个字符。
如果未指定逻辑日志文件名称,则 SQL Server 将通过向 database_name 追加后缀来为日志生成 logical_file_name 和 os_file_name。
这会将 database_name 限制为 123
个字符,从而使生成的逻辑文件名称不超过 128 个字符。
如果未指定数据文件的名称,则 SQL Server 使用 database_name 作为 logical_file_name 和 os_file_name。
默认路径从注册表中获得。
可以使用 Management Studio 中的“服务器属性”(“数据库设置”页)更改默认路径。
更改默认路径要求重新启动 SQL Server。
CONTAINMENT
指定数据库的包含状态。
NONE = 非包含数据库。
PARTIAL = 部分包含的数据库。
ON
指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。
当后面是以逗号分隔的、用以定义主文件组的数据文件的 <filespec> 项列表时,需要使用
ON。
主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的 <filegroup>
项列表(可选)。
PRIMARY
指定关联的 <filespec> 列表定义主文件。
在主文件组的 <filespec> 项中指定的第一个文件将成为主文件。
一个数据库只能有一个主文件。
有关详细信息,请参阅 数据库文件和文件组。
如果没有指定 PRIMARY,那么 CREATE DATABASE
语句中列出的第一个文件将成为主文件。
LOG ON
指定显式定义用来存储数据库日志的磁盘文件(日志文件)。
LOG ON 后跟以逗号分隔的用以定义日志文件的 <filespec> 项列表。
如果没有指定 LOG ON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的 25% 或 512
KB,取两者之中的较大者。
此文件放置于默认的日志文件位置。
有关此位置的信息,请参阅 查看或更改数据文件和日志文件的默认位置 (SQL Server Management Studio)。
不能对数据库快照指定 LOG ON。
COLLATE collation_name
指定数据库的默认排序规则。
排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。
如果没有指定排序规则,则将 SQL Server 实例的默认排序规则分配为数据库的排序规则。
不能对数据库快照指定排序规则名称。
不能使用 FOR ATTACH 或 FOR ATTACH_REBUILD_LOG
子句指定排序规则名称。
有关如何更改附加数据库的排序规则的信息,请访问此 Microsoft 网站。
有关 Windows 和 SQL 排序规则名称的详细信息,请参阅 COLLATE (Transact-SQL)。
注意
包含数据库的排序方式不同于非包含数据库。
有关详细信息,请参阅 包含数据库的排序规则。
WITH <选项>
仅在将 CONTAINMENT 设置为 PARTIAL 之后,才允许使用以下选项。
如果将 CONTAINMENT 设置为 NONE,将发生错误。
<filestream_options>
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
指定对数据库的非事务性 FILESTREAM 访问的级别。
USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO
USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO
B.创建指定数据和事务日志文件的数据库
下面的示例将创建数据库 Sales。
因为没有使用关键字 PRIMARY,第一个文件 ( Sales_
dat) 将成为主文件。
因为在 Sales_ dat 文件的 SIZE 参数中没有指定 MB 或 KB,将使用 MB 并按 MB 分配。
Sales_ log 文件以 MB 为单位进行分配,因为 SIZE 参数中显式声明了
MB 后缀。
USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO
USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO
C.通过指定多个数据和事务日志文件创建数据库
以下示例创建数据库 Archive,该数据库具有三个 100-MB 数据文件和两个 100-MB 事务日志文件。
主文件是列表中的第一个文件,并使用 PRIMARY
关键字显式指定。
事务日志文件在 LOG ON 关键字后指定。
请注意用于 FILENAME 选项中各文件的扩展名: .mdf 用于主数据文件, .ndf 用于辅助数据文件, .ldf 用于事务日志文件。
此示例将数据库放置于 D: 驱动器上,而非 master 数据库中。
USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO
USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO
⑻ 写出创建BBS数据库的完整SQL语句
--写出创建BBS数据库的完整SQL语句
use master --选中master数据库
go
if exists (select * from sysdatabases where name='BBS') --判断该数据库名是否存在
drop database BBS --如果存在就删除该数据库(我自己的选择,你也可以用其他方法)
create database BBS --创建数据库
--创建主文件
on primary
(
name='BBS_data',--主文件名
filename='d:\myBBS\BBS_data.mdf',--主文件存放地址
size=5mb,--文件初始大小
filegrowth=15%--文件的每次增长值
)
--创建日志文件
log on
(
name='BBS_log',--日志文件名
filename='d:\myBBS\BBS_log.ldf',--日志文件存放地址
size=5mb,--文件初始大小
filegrowth=15%--文件的每次增长值
)
go
⑼ sql创建数据库语句
创建数据库的SQL语句:
create database stuDB
on primary -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='stuDB_data', -- 主数据文件的逻辑名称
filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='stuDB_log',
filename='D:\stuDB_log.ldf',
size=2mb,
filegrowth=1mb
)
创建表和删除表的SQL语句如下:
use StuDB
go
if exists(select * from sysobjects where name='stuMarks')
drop table stuMarks
create table stuMarks
(
ExamNo int identity(1,1) primary key,
stuNo char(6) not null,
writtenExam int not null,
LabExam int not null
)
go
-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列
alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名
alter table stuMarks
add constraint UQ_stuNo Unique(stuNo)
alter table stuMarks
drop constraint UQ_stuNo
/*--添加SQL登录账户--*/
exec sp_addlogin 'xie', '123456' -- 账户名为xie,密码为123456
--删除xie账户名
exec sp_droplogin 'xie'
/*--在stuDB数据库中添加两个用户(必须存在)--*/
use stuDB
go
exec sp_grantdbaccess 'xie','123456'
go
-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用
-- 户始终出现在每个数据库中
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户
use stuDB
go
grant select,update,insert on stuMarks to xie
grant create table to xie
go
⑽ 如何用SQL语句创建数据库
用如下语句:
create database studb
on primary -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='studb_data', -- 主数据文件的逻辑名称
filename='d:\studb_data.mdf', -- 主数据文件的物理名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='studb_log',
filename='d:\studb_log.ldf',
size=2mb,
filegrowth=1mb
)注意:路径和文件名等可以自己定义,而且所使用的路径必须要先建立,否则执行语句会报错。