sql问题?问了许多人,都不知道?谁可以帮忙一下吗

源码小严 2010-08-22 01:21:25
-- =============================================
-- Create database on mulitple filegroups
-- =============================================
IF EXISTS (
SELECT *
FROM sys.databases
WHERE name = N'<database_name, sysname, sample_database>'
)
DROP DATABASE <database_name, sysname, sample_database>
GO

CREATE DATABASE <database_name, sysname, sample_database>
ON PRIMARY
(NAME = <logical_filename1, , sample_database_file1>,
FILENAME = N'<data_filename1, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_1.mdf>',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%),

( NAME = <logical_filename2, , sample_database_file2>,
FILENAME = N'<data_filename2, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_2.ndf>',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%),

FILEGROUP <filegroup_1, , sample_database_filegroup1>
( NAME = <logical_filename3, , sample_database_file3>,
FILENAME = N'<data_filename3, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_3.ndf>',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%),

( NAME = <logical_filename4, , sample_database_file4>,
FILENAME = N'<data_filename4, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_4.ndf>',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%),

FILEGROUP <filegroup2, , sample_database_group_2>
( NAME = <logical_filename5, , sample_database_file5>,
FILENAME = N'<data_filename5, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_5.ndf>',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%)

LOG ON
( NAME = <logical_log_filename1, , sample_database_log_file1>,
FILENAME = N'<log_filename1, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_1.ldf>',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%),

( NAME = <logical_log_filename2, , sample_database_log_file2>,
FILENAME = N'<log_filename2, , C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Datasample_database_2.ldf>',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB)
GO


这些代码是来自于sqlserver模板中!可是感觉有特别多特别多的疑问?????比如说FROM sys.databases
WHERE name = N'<database_name, sysname, sample_database>这句话!其中from sys.databases来自于这个数据库,这个是一个什么数据库啊!为什么经常看到它加在创建数据库的前面啊!还有where name字段名后面怎么跟了个数据库名,sysname,saple_database,还有再比如CREATE DATABASE <database_name, sysname, sample_database> ,创建数据库后面怎么跟了几个数据库名啊!我试过了,不可以的!可是?这儿!等等!还有许多疑问???有谁可以帮忙解释一下吗?谢谢!可以帮忙把 段代码好好解释一下,可以吗?
...全文
62 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wtq630 2010-12-02
  • 打赏
  • 举报
回复
比如说FROM sys.databases
WHERE name = N'<database_name, sysname, sample_database>这句话!其中from sys.databases来自于这个数据库,这个是一个什么数据库啊!

回答:sys.databases不是数据库,只是系统数据库中的一个系统表,专门用来保存数据库系统的数据库信息的。


为什么经常看到它加在创建数据库的前面啊!

回答:这个是微软的一种强制机制,通俗的说就是在创建一个新的数据库之前先检查数据库系统中有没有相同逻辑名的数据库存在,如果有,就强制删除。也就是 DROP DATABASE <database_name, sysname, sample_database>。


还有where name字段名后面怎么跟了个数据库名

回答:where name后面跟的不是数据库名也不可能是数据库名,一定是字段。只是这里这个字段表示的是数据库名。因此,where name后的字段一定需要打单引号的!

这个问题我就清楚这些了,关于你后面疑问,也是我关注的。目前也在寻求解决的过程中。希望能帮到你!
dichun 2010-08-22
  • 打赏
  • 举报
回复
from sys.databases 这是系统库,只有在master 库中有,保存实例里面的所有数据库;

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧