用于创建新数据库的sql脚本

时间:2009-11-05 15:12:35

标签: database sql-server-2005 sample

我有以下脚本。 我不知道如何在sql server 2005中创建新数据库。 我运行以下脚本,它在模型下创建表而不是单独的数据库。它看起来很大。

如何创建单独的数据库。 我在这里复制一些脚本,以供你的行动和行动。

-----------------------------------------------------------
-- SQL Server 2000 Bible 
-- Hungry Minds 
-- Paul Nielsen

-- OBX Kites sample database - CREATE Database, Tables, and Procs

-- this script will drop an existing OBXKites database 
-- and create a fresh new installation

-- related scripts:
-- OBXKites_Populate

-- T-SQL KEYWORDS go
-- DatabaseNames   

-----------------------------------------------------------
-----------------------------------------------------------
-- Drop and Create Database


USE master
GO
IF EXISTS (SELECT * FROM SysDatabases WHERE NAME='OBXKites')
  DROP DATABASE OBXKites
go

-- This creates 1 database that uses 2 filegroups
CREATE DATABASE OBXKites
  ON PRIMARY
    (NAME = 'OBXKites', FILENAME = 'D:\SQLData\OBXKites.mdf'),
  FILEGROUP Static
    (NAME = 'OBXKitesStatic', FILENAME = 'c:\SQLData\OBXKitesStatic.ndf')
  LOG ON (NAME = 'OBXKitesLog',  FILENAME = 'c:\SQLData\OBXKites.ldf')
go

-- set to Full Log

go

SET QUOTED_IDENTIFIER ON
go
USE OBXKites
go

-----------------------------------------------------------
-----------------------------------------------------------
-- Create Tables, in order from primary to secondary

CREATE TABLE dbo.OrderPriority (
  OrderPriorityID UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL DEFAULT (NEWID()) PRIMARY KEY NONCLUSTERED,
  OrderPriorityName NVARCHAR (15) NOT NULL,
  OrderPriorityCode NVARCHAR (15) NOT NULL,
  Priority INT NOT NULL
  )
  ON [Static]
go  

5 个答案:

答案 0 :(得分:5)

CREATE DATABASE OBXKites
ON PRIMARY
     (NAME = 'OBXKites', FILENAME = 'D:\SQLData\OBXKites.mdf'),  
   FILEGROUP Static
     (NAME = 'OBXKitesStatic', FILENAME = 'c:\SQLData\OBXKitesStatic.ndf')
LOG ON 
   (NAME = 'OBXKitesLog',  FILENAME = 'c:\SQLData\OBXKites.ldf')
go

脚本中的此代码应创建一个新数据库。如果在此过程中没有发生错误。

答案 1 :(得分:1)

你能简化一下吗?或者你必须做所有的检查吗?

如果可以简化,我可以使用一些代码,例如:

CREATE DATABASE OBXKites

USE OBXKites

CREATE TABLE OrderPriority(syntax)

如果像这样的简单代码不起作用,那么你可能会遇到更严重的权利或文件问题,或者就像我之前的queen3所建议的那样。

事后的想法:在我的学校,我们遇到了这样的问题,我相信......经过一些课程,我们终于得出结论,我们没有权利将文件添加到实验室计算机上的程序文件目录中并且SQL没有向我们报告错误。

答案 2 :(得分:0)

输出中是否有错误?脚本本身已经按照您的要求执行了操作。

我怀疑你错误地指定了文件名 - 其中一些在驱动器C:上,而一些在驱动器D上:。

答案 3 :(得分:0)

您的脚本将在OBXKites数据库中创建表(请参阅脚本中的USE OBXKites语句)

OBXKites数据库是否已存在于您的服务器实例中?如果是这样,那可能就是为什么它似乎在当前数据库中创建表,因为脚本正在有效地删除并重新创建OBXKites数据库。如果您需要数据库的其他名称,请在上面的脚本中找到“此创建1个使用2个文件组的数据库”之后的脚本中的“OBXKites”的所有实例,并将其重命名为您想要的新数据库名称。

如果您的用户帐户缺少相应的权限,则唯一的其他选项可能是脚本在创建数据库时出现执行错误。但是,脚本继续执行,在您登录的当前数据库中创建表,这就是您在那里看到表的原因。

答案 4 :(得分:0)

在 Ubuntu 终端中创建数据库

我的数据库名称是 database_name 你可以使用任何东西

create database database_name;

如何选择这个数据库在里面创建表。

use database_name;