当前位置: 代码迷 >> Sql Server >> 创建数据库语句有异常求修改,最好帮忙解释下每步的意思
  详细解决方案

创建数据库语句有异常求修改,最好帮忙解释下每步的意思

热度:83   发布时间:2016-04-27 12:21:59.0
创建数据库语句有错误求修改,最好帮忙解释下每步的意思!
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'bookmanage')
DROP DATABASE [bookmanage]
GO

CREATE DATABASE [bookmanage] ON (NAME = N'bookmanage_Data', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL\data\bookmanage_Data.MDF' , SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N'bookmanage_Log', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL\data\bookmanage_Log.LDF' , SIZE = 1, FILEGROWTH = 10%)
 COLLATE Chinese_PRC_CI_AS
GO

exec sp_dboption N'bookmanage', N'autoclose', N'false'
GO

exec sp_dboption N'bookmanage', N'bulkcopy', N'false'
GO

exec sp_dboption N'bookmanage', N'trunc. log', N'false'
GO

exec sp_dboption N'bookmanage', N'torn page detection', N'true'
GO

exec sp_dboption N'bookmanage', N'read only', N'false'
GO

exec sp_dboption N'bookmanage', N'dbo use', N'false'
GO

exec sp_dboption N'bookmanage', N'single', N'false'
GO

exec sp_dboption N'bookmanage', N'autoshrink', N'false'
GO

exec sp_dboption N'bookmanage', N'ANSI null default', N'false'
GO

exec sp_dboption N'bookmanage', N'recursive triggers', N'false'
GO

exec sp_dboption N'bookmanage', N'ANSI nulls', N'false'
GO

exec sp_dboption N'bookmanage', N'concat null yields null', N'false'
GO

exec sp_dboption N'bookmanage', N'cursor close on commit', N'false'
GO

exec sp_dboption N'bookmanage', N'default to local cursor', N'false'
GO

exec sp_dboption N'bookmanage', N'quoted identifier', N'false'
GO

exec sp_dboption N'bookmanage', N'ANSI warnings', N'false'
GO

exec sp_dboption N'bookmanage', N'auto create statistics', N'true'
GO

exec sp_dboption N'bookmanage', N'auto update statistics', N'true'
GO

use [bookmanage]
GO

if not exists (select * from master.dbo.syslogins where loginname = N'ECHO\Administrator')
exec sp_grantlogin N'ECHO\Administrator'
exec sp_defaultdb N'ECHO\Administrator', N'master'
exec sp_defaultlanguage N'ECHO\Administrator', N'简体中文'
GO

exec sp_addsrvrolemember N'ECHO\Administrator', sysadmin
GO



以上语句查询分析器里出现错误,请帮忙改下!

------解决方案--------------------
SQL code
去查系统的存储过程吧 exec sp_dboption N'bookmanage', N'auto create statistics', N'true'GO---自动创建统计信息exec sp_dboption N'bookmanage', N'auto update statistics', N'true'GO--自动更新统计信息其他的不写了
------解决方案--------------------
什么错误?

是不是没有D:\Program Files\Microsoft SQL Server\MSSQL\data\目录
------解决方案--------------------
最前面加个:
use master
------解决方案--------------------
sp_dboption 显示或更改数据库选项。

这些东西是在显示或更改数据库的某些选项(性能).
你也可以不用.
------解决方案--------------------
探讨
求注释! 那个大写N是什么意思?

------解决方案--------------------
楼主你好,以上的写法有些麻烦,他具体到了在什么库什么文件下了,我一般平时会这么写
IF EXISTS(SELECT * FROM SYSDATABASES WHERE NAME = '库名') 
DROP DATABASE 库名
GO
-- IF EXISTS 的意思是 是否存在
-- (SELECT * FROM SYSDATABASES WHERE NAME = '库名') 是查询在所有的库中是否有'库名'的数据库
-- DROP DATABASE '库名' 是删除该库
-- 连起来就是 判断是否存在 库名 为'库名'的数据库 如果存在删除,如果不存在将不会执行DROP语句


CREATE DATABASE '库名'
ON -- 创建主数据库
(
NAME = '主数据库文件名',
FILENAME = '主数据库的要存放的位置以及数据库的后缀名',
SIZE = '数据库初始化大小',
FILEGROWTH = '如数据库满按百分之多少增加数据库空间'
)
LOG ON -- 创建主数据库的LOG日志文件
(
NAME = 'LOG文件名',
  相关解决方案